提纲:
一、变量:
(1)关于变量的含义
(2)变量的声明
(3)变量的命名
(4)变量的交换
“常量就是不可改变的量,python中没有明确定义常量的关键字,所以约定输出的吧变量名大写就是常量,表示不可变”
二 、python的六大标准数据类型
(1)Number 数字类型(int float bool complex)
以下称为容器类型数据,他们性质更像是一个口袋可以往里边装东西(这几个东西要记好因为以后比较多的要记忆的东西有他们做基础就更容易识记)
(2)string 字符串类型
(3)List 列表类型
(4)Set 集合类型
(5)Dict 字典类型
(6)tuple 元组类型
三、自动类型的转换
当两个不同类型的数据进行运算的时候,默认向更高精度转换
数据类型精度从低到高一次为:bool int float complex
四、强制类型转换
Number 可以转换的类型
int: 整型 浮点型 布尔类型 纯数字字符串
float: 整型 浮点型 布尔类型 纯数字字符串
complex: 整型 浮点型 布尔类型 纯数字字符串
bool: (容器类型数据 / Number 类型数据 都可以)
容器类型
str: (容器类型数据 / Number 类型数据 都可以)
List: 字符串 列表 元组 集合 字典
Tuple: 字符串 列表 元组 集合 字典
set: 字符串 列表 元组 集合 字典
dict 使用二级列表或者二级元组
五、python 运算符
(1)算术运算符:+ - * / //(地板除)% **
(2)比较运算符:> < >= <= == !=
(3)赋值运算符:= += -= *= /= //= %= **=
(4)成员运算符:in 和 not in(针对容器类型数据)
(5)身份运算符:is 和 is not(检查两个数据在内存中是否是同一个值)
(6)逻辑运算符:and or not
(7)位运算符: & | ~ ^ << >>
===============================================
此部分内容只做了解:
想看就看:
六、 同一文件(模块)里,变量存储的缓存机制(仅对python3.x版本负责 了解)
---->Number 部分
1,对于整型而言,-5~正无穷范围内的相同值 id一致
2,对于浮点数而言,非负数范围内的相同值,id一致
3,布尔值而言,值相同的情况下,id一致
4,复数的id表示都不相同(在 实数+虚数 这样的结构中)
--->容器类型部分
5,字符串而言,字符串值相同的情况下,id一致
6,列表,元组,字典,集合无论什么情况 id标识都不同(但空元组的id表示一样)
不同文件(模块)里,部分数据驻留小数据池中(仅对python3.x版本负责)
python提前在内存中创建了-5~256范围的整数,驻留在了内存的一块区域,如果是不同文件(模块)的两个变量,并在此范围具有了相同的值,那么id一致。
小数据池只针对:int,string,bool,已经空元组(),None关键字这些有效。
对于字符串来说:
(1)字符串长度为0或者为1,默认驻留小数据池
(2)字符串的长度>1,且只含有大小写字母,数字,下划线时默认驻留小数据池
(3)用乘法得到的字符串,分两种情况。
1)乘数为1时:
无论什么字符串 * 1,都默认驻留小数据池
2)乘数大于1时:
乘数大于1,仅包含数字,字母,下划线时会被缓存,但字符串长度不能大于20
###指定驻留###
from sys import intern
a = intern('你最帅&*^^1234'*10)
b = intern('你最帅&*^^1234'*10)
print(a is b)
#可以指定人员字符串加入到小数据池中,无论声明多少个变量,只要此值相同,都指向同一个地址空间
无论是缓存机制还是小数据池的驻留机制,都是为了节省内存空间,提升代码效率