基本运算符
基本运算符
算术运算符
定义:就是加减乘除
/有零有整除,得到一个浮点型
//地板除,只取整数部分
%:取余
**:幂(xx的几次方)
比较运算符
pwd = '123'
print(pwd != '123') #False
print(pwd == '123') #True
l1 = [1,'a',3]
l2 = [3]
print(l1<l2) #False
True
try:
l3 = [1,3]
print(l1<l3) #报错,列表比较大小仅限于同一位置的对应的值是相同的类型
except exception as e:
print(e) #name 'l1' is not defined
赋值运算符
age = 19 = age = 19
age = age + 1 = age = age += 1
print(age) #20 = print(age) #20
age = 19
age *= 10
print(age) #190
逻辑运算符
从左到右的方式找到逻辑运算符,找到逻辑运算符的左边,左边成立,再去找到逻辑运算符的右边
print(3>3 and 1>2 or 2>1) #False
True
身份运算符
x = 257
y = x
z = 257
print(f'x is y:{x is y}') #True
print(f'x == y:{x == y}') #True
print(f'x is z:{x is z}') #True
print(f'x == z:{x == z}') #True
is和的区别:is是判断两个标识符是不是引用自一个对象(是否在同一块内存空间中);是用于判断引用变量的值是否相等。
位运算符
按位运算符是把数字看作二进制来进行计算的。Python中的按位运算法则如下:
下表中变量 a 为 60, b为13, 二进制格式如下:
a = 0011 1100
b = 0000 1101
-----------------
a&b = 0000 1100
a|b = 0011 1101
a^b = 0011 0001
~a = 1100 0011
a = 60 # 60 = 0011 1100
b = 13 # 13 = 0000 1101
c = 0
c = a & b
# 12 = 0000 1100
print("1 - c 的值为:", c)
1 - c 的值为: 12
c = a | b
# 61 = 0011 1101
print("2 - c 的值为:", c)
2 - c 的值为:61
c = a ^ b
# 49 = 0011 0001
print("3 - c 的值为:", c)
3 - c的值为:49
c = ~a
# -61 = 1100 0011
print("4 - c 的值为:", c)
4 - c 的值为:-61
c = a << 2
# 240 = 1111 0000
print("5 - c 的值为:", c)
5 - c 的值为:240
c = a >> 2
# 15 = 0000 1111
print("6 - c 的值为:", c)
6 - c 的值为:15
成员运算符
除了以上的一些运算符之外,Python还支持成员运算符,测试实例中包含了一系列的成员,包括字符串,列表或元组。
a = 10
b = 20
list = [1, 2, 3, 4, 5]
if (a in list):
print("1 - 变量 a 在给定的列表中 list 中")
else:
print("1 - 变量 a 不在给定的列表中 list 中")
1 - 变量 a不在给定的列表中 list 中
if (b not in list):
print("2 - 变量 b 不在给定的列表中 list 中")
else:
print("2 - 变量 b 在给定的列表中 list 中")
2 - 变量 b 不在给定的列表中 list 中
# 修改变量 a 的值
a = 2
if (a in list):
print("3 - 变量 a 在给定的列表中 list 中")
else:
print("3 - 变量 a 不在给定的列表中 list 中")
3 - 变量 a 在给定的列表中 list 中
Python运算符优先级
python运算符的优先级相当于数学中的先算乘除再算加减,但是这很愚蠢,优先级高的你括号括起来就行了...
a = 20
b = 10
c = 15
d = 5
e = 0
e = (a + b) * c / d #( 30 * 15 ) / 5
print("(a + b) * c / d 运算结果为:", e)
(a + b) * c / d 运算结果为: 90.0
e = ((a + b) * c) / d # (30 * 15 ) / 5
print("((a + b) * c) / d 运算结果为:", e)
((a + b) * c) / d 运算结果为: 90.0
e = (a + b) * (c / d); # (30) * (15/5)
print("(a + b) * (c / d) 运算结果为:", e)
(a + b) * (c / d) 运算结果为: 90.0
e = a + (b * c) / d; # 20 + (150/5)
print("a + (b * c) / d 运算结果为:", e)

浙公网安备 33010602011771号