从0.1开始学Python——[3]

运算符,就是运算用的符。[doge]

运算符

常见类型:
算术运算符
赋值运算符
关系运算符
逻辑运算符
条件运算符

算术运算符

最常用的,加减乘除,即±*/。//是除取整。**是幂运算,开根号可以用小数幂运算。%是除取余。

赋值运算符

就是=这种的,作用就是将等号右侧的值赋给等号左侧的变量(不能反过来)。其衍生的+=,-=,*=,/=,**=这些也是赋值运算符。如:

j = 3
j += 5
print(j)
j *= 2
print(j)
j -= 10
print(j)
j /= 2
print(j)
j **= 2
print(j)
j //= 2
print(j)
j %= 3
print(j)

结果如下:

8
16
6
3.0
9.0
4.0
1.0

关系运算符

关系运算符用来比较两个值之间大小的关系,返回值是布尔值。常见的有>、<、>=、<=、!=、==这些。其中,数字可以和布尔值比,但是不能和字符串比,但是字符串和字符串可以比。因为数字和布尔值都属于数值类型,但是和字符串不同类。如:

h = 30 > 20
print(h)
h = 30 < 20
print(h)
h = 11 >= 11
print(h)
h = 11 <= 11
print(h)
h = 2 > True
print(h)
h = '3' > '1'
print(h)
h = '2' > '11'  # 在Python中可以比较字符串,但是实际上比较的是二者Unicode的编码,而不是比数字内容的大小
print(h)        # 而且是逐位比较,而且哪一位比出来了,就不继续比了,2和第一个1比完就不管后面的1了
h = 1 == 1
print(h)
h = 1 != 1
print(h)
h = '233' != 'xiaoheizi'
print(h)
h = True == 1  # ==和!=比较的是二者的value
print(h)
h = 1 is not True  # is和is not比的是id
print(h)

结果如下:

True
False
True
True
True
True
True
True
False
True
True
True

补充:

o = 1 < 2 < 3  # 相当于1<2 and 2<3,实际上是关系运算符加逻辑运算符,返回的是布尔值
print(o)

结果是:True。注意,即使是一个>一个<也是中间的数分别比两边的数,只不过都是判断是否大于或者是否小于。比如上面改为o = 1 < 2 > 3,那就是相当于1< 2and2>3的判断。

逻辑运算符

逻辑,即:与或非——and,or,not。not是一元运算符,因为只参与一个值,而+这样的就是二元,因为需要两个相加。效果如下:

k = True
k = not k
print(k)
k = 1
k = not k  # 非布尔值会先转换成布尔值然后执行
print(k)
k = ''
k = not k  # 空性的值会被看作False
print(k)
k = True and True
print(k)
k = True and False  # 全1则1,有0则0,与顺序无关,我这里0和1说的是布尔值
print(k)
k = False or False
print(k)
k = True or False  # 有1则1,全0才0,同样与顺序无关
print(k)
# 但要注意,and和or是按照从前往后的顺序看的,所以对于and,第一个是True时才继续看第二个,不然会直接输出,or则是找False
True and print('只因只因')
False and print('只因只因')  # 这个执行出来没有结果,因为不看后面那句,直接返回False,除非给这句整个打印出来,你才能看见False
True or print('只因只因')  # 这个同样执行出来没有结果,因为不看后面那句,直接返回True,除非给这句整个打印出来,你才能看见True
False or print('只因只因')
k = 1 and 3  # 对非布尔值用的时候,会当做布尔值来运算,但是最终返回原值,而说了and和or是按照从前往后的顺序看的,所以
print(k)  # 看完第一个是1以后会看第二个,然后不是0,所以直接返回第二个的原值,第二个是0也返回0,第一个是False(0)那直接返回第一个
k = 0 and None
print(k)
k = 1 and None
print(k)
k = 1 and 0
print(k)
k = 1 or 3  # 和and相对应,找True,所以看完第一个是1以后就返回,如果不是True(1),那就看第二个,是啥返回啥
print(k)
k = 0 or 3
print(k)
k = not 1
print(k)
k = not 0
print(k)
k = not ''
print(k)

结果如下:

False
False
True
True
False
False
True
只因只因
只因只因
3
0
None
0
1
3
False
True
True

条件运算符

也叫三元运算符,需要三个数来操作。具体语法形如:
语句1 if 条件表达式 else 语句2。
开始条件运算符运行后,先对条件表达式进行计算,看看是True还是False,True运行语句1,False运行语句2。如:

l = 11
m = 12
print('l is bigger') if l > m else print('m is bigger')

max = l if l > m else  m
print(max)

结果如下:

m is bigger

12

运算符的优先级

算术运算符中:优先级按照代数计算的法则来。
逻辑运算符中:and优先级高于or。如n = 1 or 2 and 3,输出是1,因为2 and 3得3,1 or 3得1。not在三者中最高。
tip:加个()直接优先计算,跟算数一样。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值