Python的常用运算符

1 算术运算符:加(+)、减(-)、乘(*)、除(/)、取余(%)、整除(//)、幂运算(**)

print(10+1)# 11
print(10-1)# 9
print(10*2)# 20
print(10/2)# 5.0
# 注意整除是先除得到商再向下取整
# 对一个数向下取整就是小于或等于这个数的最大整数
print(10//3)# 3
print(-10//3)# -4
print(10**2)# 100

幂运算还可以使用math模块里的pow()函数,math模块里还有几个常用的函数,ceil()向上取整,floor()向下取整,factorial()求阶乘

import math
print(pow(10,2))# 100 第一个参数是底数,第二个参数是指数
print(math.factorial(5))# 120
print(math.floor(15.999))# 15
print(math.ceil(14.001))# 15

2 比较运算符:大于>,小于<,大于等于>=,小于等于<=,不等于!=或<>,等于==

1、比较运算符得到的结果是一个boor类型的值,也就是True和False,如果结果为真就返回True,如果结果为假就返回False

print(10>3)# True
print(10<3)# False

2、字符串之间进行比较:会根据各个字符的编码值逐一进行比较,第一个和第一个比较,第二个和第二个比较……返回第一对不相同的比较后的值。这个也是支持汉字的;
3、怎么知道字符的编码值了?这里可以使用ord()函数可以得到对应字符的编码,扩展:chr()函数可以将编码值转换成对应的字符。

print(('abc' > 'a'))#True
print(('abc' > 'b'))#False
print(ord('a'))# 97
print(ord('b'))# 98
print('我我'>'我你')# True
print(ord('我'))# 25105
print(ord('你'))# 20320

3 逻辑运算符:and(与)、or(或)和not(非)

1 逻辑运算的优先级:not>and>or
2 逻辑与运算,只有所有的运算都是True,结果才会True
3 逻辑或运算,只有所有的运算都是False,结果才是False
4 逻辑运算的短路:短路就是这个逻辑表达式由前一个式子就可以得到结果,就不会再向下执行
4 > 3 and print('hello')# 这个会打印hello
4 < 3 and print('hi')#  这个不会打印hi
4 > 3 or print('嘿嘿')# 不打印嘿嘿
4 < 3 or print('haha') # 打印haha

1、逻辑与运算做取值时,返回第一个为False的值,如果都为True,返回最后一个值;
2、逻辑或运算做取值时,返回第一个为True的值,如果都为False,返回最后一个值。

print(3 and 5 and 0 and 'hello')# 0
print('good' and 'yes' and 'ok' and 100)# 100
print('' or () or 'list' or 0 or 'ok')# list
print('' or () or 0)# 0
5 not(非)就是取反,True变为False,False变为True
print(not 1)# False
print(not 0)# True

扩展:在Python中只有空字符串’’,"",数字0,空字典{},空列表[],空元组(),空集合set()或空数据None会被转换为False,其他的都会转换为True

4 成员运算符:in 和not in

用来判断一个内容在可迭代对象里面是否存在

print('h' in 'hello')# True
print('a' in 'hello')# False

5 位运算符

按位与& 按位或| 按位异或^ 按位左移<< 按位右移>> 按位取反~

# 按位与&  按位或|  按位异或^  按位左移<<  按位右移>>  按位取反~
print(11 | 21)# 31
print(12 << 2)# 48 a<<n  ==>a*2的n次方
# 右移n位就是除2的n次方
color =0xF0384E
red =color >>16
print(hex(red))# 0xf0
green=(color&0x00FF00)>>8
print(hex(green))# 0x38
blue=(color&0xFF)
print(hex(blue))# 0x4e
感谢浏览

猜你喜欢

转载自blog.csdn.net/hmh4640219/article/details/111872537