浮点数
>>> 0.1+0.2
0.30000000000000004
>>> import decimal
>>> a = decimal.Decimal('0.1')
>>> b = decimal.Decimal('0.2')
>>> a+b
Decimal('0.3')
>>> print(a+b)
0.3
复数
复数分为实部和虚部
>>> x = 1+2j
>>> x.real #实部
1.0
>>> x.imag #虚部
2.0
数值计算
>>> x=3
>>> y=41
>>> x//y #floor
0
>>> x%y #取余
3
>>> -x #x相反数
-3
>>> +x #x本身
3
>>> abs(x) #x绝对值
3
>>> float(x) #x转换为浮点数
3.0
>>> complex(x,y) #返回复数
(3+41j)
>>> x.conjugate() #返回x的共轭复数
3
>>> divmod(x,y) #返回(x//y,x%y)
(0, 3)
>>> pow(x,y) #x的y次方
36472996377170786403
>>> x**y #x的y次方
36472996377170786403
布尔型
False的情况
1、定义为false的对象:none和false
2、值为0:0,0.0,0j,Decimal(0),Fraction(0,1)
3、空的序列和集合:'',(),[],{},set(),range(0)
逻辑运算符
and 、or、not
>>> not 3>4
True
and和or为短路逻辑,短路逻辑:从左往右,只有当第一个操作数的值无法确定逻辑运算的结果时,才对第二个操作数进行求值。(and需要所有为true才为true,所以需要判断所有;or只要左边为true,其他的就可以不看)
>>> (not 1) or (0 and 1) or (2 and 3) or (3 and 4) or (7 and 8 and 9)
3
运算符优先级