print(3*3)# 9 print(3**3)# 27 print(3/2)# 1.5(不同于C/C++,可直接返回浮点数) print(3%2)# 1 print(5//2)# 2 print(-10//3)# -4(注意,(//)满足向下取整) print(-10%3)# 2 =-10-(-10//3)*3 (向下取整)
精度问题
print(5.4-3) #结果为2.400000005这是哟哟与python讲从十进制变为二进制计算后返回十进制时造成的误差,可以用以下方法消除: import decimal#python 内置模块 from decimal import Decimal print(Decimal('5.4'))-Decimal('3')#2.4 print(Decimal(5.4))-Decimal(3) #2.400000000000000355271367880 #加''/""会保留原有精度,不加''/""会使精度变得更高
比较运算符比较两个对象的值,返回bool值。
需要注意的是,数值类型(int,float)可以互相比较,字符类型(str)按照ASCII大小比较,但字符类型与数据类型无法直接比较。
print(3>2>1)True #连续比较例如a>b>c,不同于C++,Python将会将连续比较拆分为 a>b and b> c 进行判断 and 表示并且关系
注意,python里不支持++,–的操作
a=c=True b=d=False print(a and b) print(a and c) print(a or b) print(a or b) print(b or d) print(not a) print(not b) """ False True True True False False True """
a=60#00111100 b=13#00001101 print(a&b)#12 (00001100) print(a|b)#61 (00111101) print(a^b)#49 (00110001)
判断对象是否在某个集合中,返回bool值
name="china" b='a' c='S' print(b in name)#True print(c not in name)#True print(c in name)#False
判断两个对象的 内存地址 是否相同
a=1 b=1 print(a is b)#False print(a is not b)#True print(a==b)#True ''' ==比较值 is比较内存地址 '''
True_statment if 判断语句 elseFalse_statment #如果判断语句为真,执行True_statment,否则执行False_statment a=2 b=5 c= a+b if a>b else a*b print(a) #10
一般不在三目运算符中进行嵌套代码块
从上到下运算符优先级依次降低