- 博客(18)
- 收藏
- 关注
原创 小整数池问题
小整数池为什么有些变量的值相等,id有时相等,有时却不相等呢i = 100j = 100print(i == j) # True 形式值相同print(i is j) # True 内存地址id号相同,即引用值相同n = 10000m = 10000print(n == m) # True 形式值相同print(n is m) # False 内存地址id号不同,即引用值不同Python解释器会觉得有一些数值会经常被使用(-5到256之间),故当脚本程序运行前就将
2021-11-09 15:20:10
784
原创 is 和 ==
is和==① is比较的是左右两个值的id是否相等② ==比较的是左右两个值的value值是否相等id和值的辨别:1.变量的值不同,id一定不同2.变量的值相同,id可以相同,也可以不同3.id相同,变量的值一定相同(id相同,指向同一块内存地址,值一定相同)4.id不同,变量的值可以相同,也可以不同(不同的内存地址可以放一样的值,也可以放不一样的值)# 变量值不同,id一定不同x = 'Hello'y = 'World'print(x) # Helloprin
2021-11-09 15:10:53
308
原创 Python-SMTP邮件发送
一、开通邮箱SMPT服务以QQ邮箱为例:1.打开邮箱 - 设置 - 账户如果出现了如下情况,到QQ安全中心关闭邮箱登录保护 即可2.开启IMAP/SMTP服务3.生成授权码(之后会当成邮箱的密码)二:邮件发送1.封装的邮件发送代码import smtplibfrom typing import Tuplefrom email.utils import formataddrfrom email.mime.text import MIMETextclass SendEmai
2021-11-08 23:41:53
431
转载 global与nonlocal
在Python中,当引用一个变量的时候,对这个变量的搜索是按找本地作用域(Local)、嵌套作用域(Enclosing function locals)、全局作用域(Global)、内置作用域(builtins模块)的顺序来进行的,即所谓的LEGB规则。然而当在一个函数内部为一个变量赋值时,并不是按照上面所说LEGB规则来首先找到变量,之后为该变量赋值。在Python中,在函数中为一个变量赋值时,有下面这样一条规则:“当在函数中给一个变量名赋值是(而不是在一个表达式中对其进行引用),Python总是创
2021-06-30 22:44:13
501
原创 名称空间与作用域
一、名称空间定义:名称空间(namespace):存放名字的地方,是对栈区的划分。有了名称空间之后,就可以在栈区中存放相同的名字,详细的,名称空间。名称空间是各自独立的,没有包含关系1.1、内置名称空间存放的名字:存放的是解释器内置的名字>>> print<built-in function print>>>> input<built-in function input>存活周期:python解释器启动则产生,python解释
2021-06-30 22:36:07
293
原创 函数的基本使用
一、什么是函数?1.函数的概念 函数是盛放功能(一系列代码)的容器,定义函数就是制造了一个工具 事先准备工具的过程叫做函数的定义 遇到应用场景拿来就用叫做函数的调用 2.为什么要用函数不用函数写出代码存在的问题: 1)程序的组织结构不清晰,可读性差,维护性差 2)可扩展性差 因此灵活运用函数可以解决写出代码出现的上述问题,能够简化设计,扩展程序,方便快捷3.运用函数的原则:先定义,再调用二、函数的定义与调用 函数的使用必须遵循“先定义,后调用”的原则,函数的定义就相当于事先
2021-06-29 20:29:55
246
原创 可变数据类型与不可变数据类型
一、什么是可变类型与不可变类型?可变数据类型 :当该数据类型的对应变量的值发生了改变,那么它对应的内存地址不发生改变,对于这种数据类型,就称可变数据类型。不可变数据类型: 当该数据类型的对应变量的值发生了改变,那么它对应的内存地址也会发生改变,对于这种数据类型,就称不可变数据类型。二、数据类型分类2.1、整型数据发生改变后,变量的内存地址发生了改变,所以整型是不可变数据类型2.2、字符串当数据发生改变后,变量的内存地址发生了改变,所以字符串就是不可变数据类型。2.3、元组元组被称为只
2021-06-23 16:31:48
7927
原创 垃圾回收机制后章
一、垃圾回收机制详解1.1、简介python 采用的是引用计数机制为主,标记 - 清除和分代收集两种机制为辅的策略引用计数(python默认):记录该对象当前被引用的次数,每当新的引用指向该对象时,它的引用计数ob_ref加1,每当该对象的引用失效时计数ob_ref减1,一旦对象的引用计数为0,该对象立即被回收 标记清除:第一段给所有活动对象标记,第二段清除非活动对象分代回收:python将内存根据对象的存活时间划分为不同的集合,每个集合称为一个代,比如有年轻代、中年代、老年代,年轻代最先被回
2021-06-22 20:43:32
169
原创 垃圾回收机制前言
一、什么是垃圾回收机制?垃圾回收机制(简称GC)是python解释器自带一种机制,专门用来回收不可用的变量值所占用的内存空间二、为什么要用垃圾回收机制?程序运行过程中会申请大量的内存空间,而对于一些无用的内存空间如果不及时清理的话会导致内存使用殆尽(内存溢出),导致程序崩溃,因此管理内存是一件重要复杂的事,而python解释器自带的垃圾回收机制把程序员从繁杂的内存管理中解放出来。三、堆区与栈区在定义变量时,变量名与变量值都是需要存储的,分别对应内存中的两块区域:堆区与栈区 变量名与值内存地址
2021-06-22 20:37:14
144
原创 计算机核心基础
1、计算机核心基础目录一 编程语言:1.1 什么是语言?什么是编程语言?为何要有编程语言?1.2 什么是编程?为什么要编程?二 计算机组成原理2.1 什么是计算机?2.2 为什么要用计算机?2.3 计算机的五大组成部分三 操作系统3.1 什么是操作系统3.2 系统软件与应用软件3.3 计算机系统三层结构四 平台一、编程语言 1.1 、什么是语言?什么是编程语言?为何要有编程语言? 语言其实是人与人之间的沟通的介质,如汉语,英语
2021-06-18 15:36:12
140
原创 python之文件处理
一、引入 应用程序运用过程中产生的数据最先都是存放在内存中的,若想永久保存下来,必须存在于硬盘中。应用程序若想操作硬件必须通过操作系统,而文件就是操作系统提供给应用程序来操作硬盘的虚拟概念,用户或应用程序对文件的操作,就是向操作系统发起调用,然后由操作系统完成对硬件的具体操作。二、文件操作的基本流程2.1、基本流程# 1.打开文件,由应用程序向操作系统调用open(..),操作系统打开文件,对应一块硬盘空间,并返回一个文件对象赋值给一个变量ff = open('a.txt',mode='r',
2021-06-18 15:30:00
173
原创 python基础之元组
元组 python的元组与列表类似,不同之处在于元组的元素不能修改。 元组使用小括号()。 元组的创建,只需要在括号中添加元素,并使用逗号隔开即可1、定义方式# 在()内用逗号分隔开多个任意类型的值>>> countries = ("中国","美国","英国") # 本质:countries = tuple("中国","美国","英国")# 强调:如果元组内只有一个值,则必须加一个逗号,否则()就只是包含的意思而非定义元组>>> countries
2021-06-18 15:23:41
226
原创 python基础之字典
python字典(dic)是一种无序的、可变的序列,它的元素以“键值对(key-value)”的形式存储。相对的,列表和元组都是有序的序列,它们的元素在底层是挨着存放的。字典类型是 Python 中唯一的映射类型。映射指的是元素之间相互对应的关系,即通过一个元素,可以唯一找到另一个元素。如图 所示。字典中,习惯将各元素对应的索引称为键(key),各个键对应的元素称为值(value),键及其关联的值称为“键值对”。一、定义# 定义:在{}内用逗号分隔开多元素,每一个元素都是key:value的形式,
2021-06-18 15:19:37
784
原创 Python基础之列表
列表一、列表定义: 是一种有序和可更改的集合。允许重复的成员。列表的所有元素放在 [ ]中,用引号和逗号分开。 一个列表中的数据类型可以各不相同,可以同时分别为整数、实数、字符串等基本类型,甚至是列表、字典以及其他自定义类型的对象。例如:[1, 2, 3, 3.2, 5,][0.01,'zhangsan','张三',[1,2,3]]二、创建列表thislist = ['apple', 'uzi',]print(thislist)# 运行实例['apple', 'uzi']三、
2021-06-18 15:17:17
202
原创 python基础之集合
一、作用集合、list、tuple、dict一样都可以存放多个值,但是集合主要用于:去重、关系运算二、定义"""定义:在{}内用逗号分隔开多个元素,集合具备以下三个特点: 1:每个元素必须是不可变类型 2:集合内没有重复的元素 3:集合内元素无序"""s = {1,2,3,4} # 本质 s = set({1,2,3,4})# 注意1:列表类型是索引对应值,字典是key对应值,均可以取得单个指定的值,而集合类型既没有索引也没有key与值对应,所以无法取得单个的
2021-06-18 15:14:41
362
原创 python基础之变量
一、变量1、什么是变量 变量就是可以变化的量,量指的是事物的状态,比如人的年龄、性别,游戏角色的等级、金钱等等2、为什么要有变量 程序执行的本质就是一系列状态的变化,变是程序执行的直接体现,所以我们需要有一种机制能够反映或者说是保存下来程序执行时状态,以及状态的变化。3、怎么使用变量3.1、变量的使用与定义 变量的定义由三部分组成: 在python中,每个变量在使用之前必须赋值,变量只有在复制之后才会被创建。 使用=可以给变量赋值。 =左边是变量名,=右边是变量的值。
2021-06-18 15:11:47
344
原创 函数2
函数21.函数变量作用域 函数变量作用域指的是变量生效的范围,主要分为两类:局部变量和全局变量 1.1 局部变量 局部变量是定义在函数体内部的变量,只在函数体内部生效 局部变量的作⽤:在函数体内部,临时保存数据,即当函数调⽤完成后,则销毁局部变量。 def testA(): a = 100 print(a) testA() # 100 print(a) # 报错:name 'a' is not defined 变量a是定义在 testA 函数内部的
2020-12-29 22:42:40
122
原创 python基础—字符串
字符串 在python中引号引起来的就是字符串,字符串用来存储少量数据索引。索引 索引(下标)通过索引可以精确定位到某个元素name = "meat"meat 每一个字母叫做一个元素# 0123 从左向右代表每一个字母#-4-3-2-1 从右向左每一个字母print(name[-1]) 输出 tname = "今天是个好日子" # 0 1 2 3 4 5 6 # -7-6-5-4-3-2-1a = name[0]b = name[1
2020-09-23 17:37:27
446
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅