python基础语法(2)
一、python基本运算符
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
一般不在三目运算符中进行嵌套代码块
九、运算符优先级
从上到下运算符优先级依次降低