小白的python进阶历程------10.python中的运算符
1.算数运算符
python中的算数运算符有:+ , - , * , / , %(取余) , //(取整,商) , **(次方)
a = 21 b = 10 c = 0 c = a + b print ("1 - c 的值为:", c) c += a print ("2 - c 的值为:", c) c *= a print ("3 - c 的值为:", c) c /= a print ("4 - c 的值为:", c) c = 2 c %= a print ("5 - c 的值为:", c) c **= a print ("6 - c 的值为:", c) c //= a print ("7 - c 的值为:", c)
2.比较运算符
python中的比较运算符有:> , >= , < , <= , == , != (结果返回布尔值)
a = 5 b = 3 print(a > b) #返回True print(a >= b) #返回True print(a < b) #返回False print(a <= b) #返回False print(a == b) #返回False print(a != b) #返回True
3.赋值运算符
赋值和混合运算符:= , += , -= , *= , /= , %= , **= , //=
a = 3 b = 4 a += b #相当于a=a+b print(a) a -= b #相当于a=a-b print(a) a *= b #相当于a=a*b print(a) a /= b #相当于a=a/b print(a) a %= b #相当于a=a%b print(a) a **= b #相当于a=a**b print(a) a //= b #相当于a=a//b print(a)
4.逻辑运算符
逻辑运算符有:and or not
特点:运算符两侧的数据类型都是布尔值,最终的结果也是布尔值
print(True and True) #返回Ture print(True and False) #返回False print(False and True) #返回False print(False and False) #返回False print(True or True) #返回Ture print(True or False) #返回Ture print(False or True) #返回Ture print(False or False) #返回False print(not True) #返回False print(not False) #返回Ture
5.位运算符
位运算符有:&(按位与),|(按位或),^(按位异或),<<(左移),>>(右移)
特点:直接面向二进制运算,速度最快的运算符
a = 40 # 0010 1000 b = 50 # 0011 0010 print(a & b) # 0010 0000 对应位置相同返回本值,不同返回0值 print(a | b) # 0011 1010 对应位置相同返回本值,不同返回1值 print(a ^ b) # 0001 1010 对应位置相同返回0值,不同返回1值 print(a << 2) # 1010 0000 左移两位,末尾补零 print(a >> 2) # 0000 1010 右移两位,首位补零
6.成员运算符
成员运算符有:in(是否包含),not in(是否不包含)
特点:返回的结果一定是布尔值
作用:用来判断某个值是否存在一个容器对象中,可以和str、list、dict...配合使用;需要注意的是,如果用来判断字典中的内容,只能判断键是否存在,值是无效的的(永远返回False)
str = "1234567abcdefg" print("123" in str) print("abc" in str) print("321" in str) print("135" in str) print("910" in str) lt = [21,"python","it","china"] print(21 in lt) print(21 and "python" in lt) dic = {'name':'tom', 'age':20, 'height':177.0} print("name" in dic) print("tom" in dic) #值的反馈总是false,无法用于确定值
7.三元运算符
格式:表达式1 if 条件表达式 else 表达式2
作用:用于优化简单的判断结构
num1 = int(input('请输入第一个整数:')) num2 = int(input('请输入第二个整数:')) max_num = num1 if num1 > num2 else num2 print('较大值为:%d' %max_num)