02类型
变量没有类型,所谓类型是指变量中被赋值的对象的类型(赋值运算是从左往右)
type可以查询变量的类型
id是不同数字的编码,返回的是对象的内存地址,编号一样代表同一个数据,同一个数字可能id不一样
注意:①,变量可以保存和修改数据;②,访问变量中的数据:访问的变量必须是已经声明过的,且访问到的数据一定是访问时最近一次修改的数据;③,如果没有变量可以存但是不能取,如果有变量则可以存也可以取
①,基础类型(内置类型):
整数(int):整数值
浮点数(float):带小数点
布尔值(bool):True或者Flase,用于逻辑运算
字符串(str):文本数据,用“或者”“括起来
字节串(bytes):二进制,以字节为单位
空值(NoneType):None,缺失或者未定义的值
②,引用类型(复合类型):
列表(list):可变序列,可存储不同类型元素的一组值
字典(dict):键值映射,存储关联性数据
集合(set):无序集合,存储唯一的元素,不允许重复
元祖(Tuple):不可变序列,存储一组元素不能被修改的值
枚举类型(Enum):类,enum模块提供的用于创建有限的、命名的枚举类型
自定义类(class):自定义属性和方法来创建自定义类,表示复杂的数据结构
③,按照是否可以修改:
不可变数据:Number(数字),String(字符串),Tuple(元祖)
可变数据:List(列表),Dictionary(字典),Set(集合)
03删除变量
del:删除单个或者多个对象的引用,一般是此变量不再使用时进行删除,注意可能会出现的报错
4 ,Python注释
注释是为了更好地读程序
单行注释:#
#这是一个注释print("Hello, World!")
多行注释:
①,选中按ctrl+/:
# x="hello\\yj" # print(x)
②,三个单引号:
'''这是多行注释,用三个单引号'''
③,三个双引号:
"""这是多行注释,用三个双引号"""
多行注释可以嵌套使用
5,Python数字
用于存储数值
注意:数据类型是不允许改变的,如果改变数字数据类型的值,将重新分配内存空间
01,四种类型
整型(int):整数,不带小数点,0也是,比如10
浮点型(float):整数.小数,例如3.14,常用科学计数法,比如2e2=2*10^2=200
布尔型(bool):整型的子类型,True为1Flase为0,表示真假是否等,非0(正负浮点、复数包括0+4j这种实部为0的)都为True,0、None、空集等都为False,其他类型转换为bool:bool()
复数(complex):实部+虚部(都是浮点型),常用a+bj或者complex(a,b)表示,比如0+4j
y=bool("0") print(y)#True
02,数字类型转换
①,进制
打印时会默认打印10进制的数值
0b二进制0b110#6
0o八进制0o10#8
0x十六进制0xFF #255
0d十进制,一般不使用前缀
uint8:u无符号,int=2^8=256,表示图片
②,进制转换
#int函数传入十进制
#十六进制转十进制
int(x):将x转换为十进制整数
float(x):将x转换到一个浮点数
bin(x):将x转换为二进制
bool(x):将 x 转化为布尔值
oct(x):将x转换为八进制
hex(x):将x转换为十六进制
complex(x):将x转换为到一个复数, x:实数,0:虚数 。
complex(x, y): 将 x 和 y 转换为一个复数, x:数字,表示实数; y:数字,表示虚数。
int(x,10)等价于int(x)把x每一位数字当做10进制 转化为10进制的整数
int(x,16)把x每一位数字当做16进制 转化为10进制的整数
int(x,8)把x每一位数字当做8进制 转化为10进制的整数
int(x,2)把x每一位数字当做2进制 转化为10进制的整数
03,数字运算
①,算术运算符
加+减-乘*除/取模或者取余%幂**整除//
取模:余数不会超过求余的数(轮播图片等)
()是优先级最高的运算符
运算优先级:幂>乘除>加减
注意:①,如果参与加减法运算的数字有float 最后的结果就是float;②,python语言的算术运算底层计算机是进行二进制运算,有的小数的运算表示不出来;③,除总是返回一个浮点数;④,整除得到的并不一定是整数类型的数,它与分母分子的数据类型有关;⑤,不同类型的数混合运算会把整数转换为浮点数;⑥,python语言的算术运算底层是进行二进制运算,对于小数的运算有误差,有的小数的运算表示不出来,不影响正常业务的执行;⑦,python不能运算所有的数字,python的极限范围是:32位 python 的限制是 536870912 个元素。 64位python的限制是 1152921504606846975 个元素
未来学习计算模型的得分时可能会用到:
print(True+True)
print(True+False)
print(False+True)
print(False+False)
print(True+20)
print(True+3.14)
②,比较运算符
等于==
不等于!=
小于<
大于>
小于等于<=
大于等于>=
运算结果为布尔值
==比较的是数字的值的大小是否相等,不看id是否相等
print(0==-0)
print(0.0==0) print(10.0==10)
print(id(10.0)id(10))
注意a<b<c的比较
is not :判断是不是同一种类型的class
③,逻辑运算符
and:逻辑与
or:逻辑或
not:逻辑非
and:布尔运算,A真则B
or:布尔运算,A真则A
not:布尔值,not a相当于其他语言的!a,即把a取反
具体解释:and为逻辑与,即要同时满足AB两个条件,如果满足A条件则需要判断B条件,输出B的结果;如果A条件不满足,则输出A结果,B不参与运行,可以节省算力。 A and B表达式的结果为:如果A判定为True,则运行B,输出B的结果;如果A判定为False,则直接运行A,输出A的结果,B不执行。 例如:
a=18#赋值 print(a>=18)#此处为真,则运行下一段程序 b=20 print(b<24) c= a and b#输出b,此处是取值 print (c)
or为逻辑或,即满足AB两个条件中的一个就行,如果A条件满足,则输出A结果,B不参与运行,可以节省算力;如果A条件不满足则需要判断B条件,输出B的结果。 A or B表达式的结果为:如果A判定为True,则运行A,输出A的结果;如果A判定为False,则运行B,输出B的结果。 例如: