文章目题目
运算符与表达式
目录
一、常用的python运算符
二、算术运算符
1、实例1(+)
+ 运算符除了用于算术加法以外,还可以用于列表、元组、字符串的连接。
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,))
2、实例2(-)
- 运算符除了用于整数、实数、复数之间的算术减法和相反数之外,还可以计算集合的差集。需要注意的是,在进行实数之间的运算时,有可能会出现误差。
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})
3、实例3(*)
* 运算符除了表示整数、实数、复数之间的算术乘法,还可用于列表、元组、字符串这几个类型的对象与整数的乘法,表示序列元素的重复,生成新的列表、元组或字符串。
print(33333 *55555)
print((3+4j)*(5+6j))
print('重要的事情说三遍!'*3)
print([0] *5)
print((0,) * 3)
4、实例4( / 和 // )
运算符/和//在Python中分别表示真除法和求整商。在使用时,要特别注意整除运算符// “向下取整” 的特点。例如,-17/4的结果是 -4.25,在数轴上小于 -4.25的最大整数是 -5,所以-17//4的结果是-5。
print(17/4)
print(17 // 4)
print((-17)/4)
print((-17) // 4)
5、实例5(%)
% 运算符可以用于求余数运算,还可以用于字符串格式化。在计算余数时,结果与%右侧的运算数符号一致。
print(365%7)
print(365%2)
print('%c,%c,%c' % (65,97,48)) #把65、97、48格式化为字符
6、实例6(**)
** 运算符表示幂运算。使用时应注意,该运算符具有右结合性,也就是说,如果有两个连续的**运算符,那么先计算右边的再计算左边的,除非使用圆括号明确修改表达式的计算顺序。
print(2 **4)
print(3 ** 3 ** 3)
print(3 ** (3**3)) #与上一行代码含义相同
print((3**3) ** 3) #使用圆括号修改计算顺序
print(9 ** 0.5) #计算9的平方根
print((-1) ** 0.5) #对复数计算平方根得到复数
三、关系运算符
Python 的关系运算符用于比较两个对象的值之间的大小,要求操作数之间可以比较大小。当关系运算符作用于集合时,可以用于测试集合之间的包含关系。当关系运算符作用于列表、元组或字符串时,逐个比较对应位置上的元素,直到得出确定的结论为止。另外,在 Python中,关系运算符可以连续使用,当连续使用时具有惰性求值的特点,即当已经确定最终结果之后,不再进行后面的比较。
print(3+2<7+8) #关系运算符优先级低于算术运算符
print(3<5>2) #等价于3<5 and5>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}>{3,4,5}) #第一个集合不是第二个集合的超集
print({1,2,3,4}<= {3,4,5}) #第一个集合不是第二个集合的子集
print([1,2,3,4] >[1,2,3]) #前三个元素相等
#并且第一个列表有多余的元素
四、成员测试运算符
print(60 in [70,60,50,80])
print('abc' in'a1b2c3dfg')
print([3] in [[3],[4],[5]])
print('3' in map(str, range(5)))
print(5 in range(5))
五、集合运算符
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 都有惰性求值的特点。
print(3 in range(5) and'abc' in'abcdefg')
print(3-3 or 5-2) #返回一个真实值
print(not 5) #not是取反
print(not []) #[]表示一个空列表等价于false