链式赋值
x=y=123
系列解包赋值
a,b,c=4,5,6
变量交换
a,b=10,20
a,b=b,a
常量
不支持常量
逻辑上控制
运算符
>>>a = 8/2
>>> a
4.0
>>> a = 7/2
>>> a
3.5
>>> a=7//2
>>> a
3
>>> a=7%2
>>> a
1
>>> a=7**2
>>> a
49
0不能做除数
divmod()
同时得到商和余数
整数
十进制
二进制0B/0b
八进制0O/0o
十六进制0X/0x
(1 2 3 4 5 6 7 8 9 a b c d e f)
>>> 0b101
5
>>> 0x10
16
int()实现类型转换
1.浮点数直接舍去小数
2.布尔值
3.字符串符合格式自动转换,不符合报错
>>> int("456")
456
>>> int("abc")
Traceback (most recent call last):
File "", line 1, in
int("abc")
ValueError: invalid literal for int() with base 10: 'abc'
自动转型
整数和浮点数变浮点数
整数可以多大
int 任意大小,long被取消
浮点数
float
科学计数法
类型转换和四舍五入
float()
round()
不改变原有值,生成新的值
>>> float(3)
3.0
>>> 314E-2
3.14
>>> b=3+1.2
>>> b
4.2
>>> round(3.54)
4
增强型赋值运算符
a=a+1
先算右边,赋值给左边
a+=1
+= -=不要加空格
>>> a=3
>>> a+=1
>>> a
4
时间的表示
时间是线性的
unix时间点1970.1.1 00:00:00
time.time()整数为秒,小数为微秒
>>> import time
>>> time.time()
1610548953.4363396
>>> b = int(time.time())
>>> b
1610549014
>>> totalMinutes=b/60
>>> totalMinutes
26842483.566666666
布尔值
1和0
比较运算符
==
!=
逻辑运算符
and
not
or
同一运算符
is
is not
is 比较id,==比较内容
小整数对象【-5,256】放入缓存重复使用
is效率更高,在变量和none比较应用is
>>> a=1000
>>> b=1000
>>> a is b
False