一、+
#+运算符除了用于算术加法以外
#还可以用于列表、元组、字符串的连接
print(3 + 5)
print(3.4 + 4.5)
print((3+4j) + (5+6j))
print('abc' + 'def')
print([1,2] + [3,4])
print((1,2) + (3,))
二、-
#-运算符除了用于整数、实数、复数之间的算术减法和相反数之外(注意浮点误差)
#还可以计算集合的差集。
print(7.9 - 4.5) # 注意,结果有误差
print(5 - 3)
num = 3
print(-num)
print(--num) # 注意,这里的--是两个负号,负负得正
print(-(-num)) # 与上一行代码含义相同
print({1,2,3} - {3,4,5}) # 计算差集
print({3,4,5} - {1,2,3})
三、*
#*运算符除了表示整数、实数、复数之间的算术乘法
#还可用于列表、元组、字符串这几个类型的对象与整数的乘法,表示序列元素的重复,
#以生成新的列表、元组或字符串
print(33333 * 55555)
print((3+4j) * (5+6j))
print('重要的事情说三遍!' * 3)
print([0] * 5)
print((0,) * 3)
四、/,//
#运算符/和//在Python中分别表示真除法和求整商
#注意整除运算符//“向下取整”
#例如,-17 / 4的结果是-4.25,在数轴上小于-4.25的最大整数是-5,所以-17 // 4的结果是-5
print(17 / 4)
print(17 // 4)
print((-17) / 4)
print((-17) // 4)
五、%
# %运算符可以用于求余数运算,还可以用于字符串格式化
# 在计算余数时,结果与%右侧的运算数符号一致
print(365 % 7)
print(365 % 2)
print('%c,%c, %c' % (65, 97, 48)) # 把65、97、48格式化为字符
print(365 % -2) # -1
六、**
# **运算符表示幂运算。
# 该运算符具有右结合性
# 如果有两个连续的**运算符,那么先计算右边的再计算左边的
print(2 ** 4)
print(3 ** 3 ** 3)
print(3 ** (3**3)) # 与上一行代码含义相同
print((3**3) ** 3) # 使用圆括号修改计算顺序
print(9 ** 0.5) # 计算9的平方根
print((-1) ** 0.5) # 对复数计算平方根得到复数
七、关系运算符 > < == >= <=
# 关系运算符
# 整数
print(3+2 < 7+8) # 关系运算符优先级低于算术运算符
print(3 < 5 > 2) # 等价于3<5 and 5>2
print(3 == 3 < 5) # 等价于3==3 and 3<5
# 字符串
print('12345' > '23456') # 第一个字符'1'<'2',直接得出结论
print('abcd' > 'Abcd') # 第一个字符'a'>'A',直接得出结论
# 列表
print([85, 92, 73, 84] < [91, 82, 73]) # 第一个数字85<91,直接得出结论
print([180, 90, 101] > [180, 90, 99]) # 前两个数字相等,第三个数字101>99
print([1, 2, 3, 4] > [1, 2, 3]) # 前三个元素相等,且第一个列表有多余的元素
# 集合(比较包容性,是否超集or子集or完全相同)
print({1, 2, 3, 4} > {3, 4, 5}) # 第一个集合不是第二个集合的超集
print({1, 2, 3, 4} <= {3, 4, 5}) # 第一个集合不是第二个集合的子集
八、成员测试运算符 in,not in
# 成员测试运算符in,not in
print(60 in [70, 60, 50, 80]) # T
print('abc' in 'a1b2c3dfg') # F
print([3] in [[3], [4], [5]]) # T
print('3' in map(str, range(5))) # T
print(5 in range(5)) # F
print(5 not in range(5)) # T
九、集合运算符 | & - ^
# 集合运算符
A = {35, 45, 55, 65, 75}
B = {65, 75, 85, 95}
print(A | B) # 并集
print(A & B) # 交集
print(A - B) # 差集
print(B - A) # 差集
print(A ^ B) # 并集-交集
十、逻辑运算符 and or not
上面这么说并不准确:
x and y:如果x等价于False,则返回x;否则返回y
x or y: 如果x等价于True,则返回x;否则返回y
not x: 如果x等价于True,则返回False;
如果x等价于False,返回True
十一、身份运算符 is
# 身份运算符
a = 20
b = 20
c = 10
print(a is b) # T
print(a is c) # F
print(b is not c) # T