Ŀ¼
算数运算都是数值进行计算,包括加/减/乘/除/取余/取整/幂
a = 7 b = 2 print(a + b) # + 加法 print(a - b) # - 减法 print(a * b) # * 乘法 print(a / b) # / 除法 print(a // b) # // 取整 print(a % b) # % 取余 print(a ** b) # ** 幂次方
9 5 14 3.5 3 1 49
比较运算包括等于/不等于/大于/小于/大于等于/小于等于注意:比较运算得到的值都是bool类型
a = 7 b = 2 print(a == b) # == 表示等于,'='表示赋值,要区别开 print(a != b) # != 表示不等于 print(a < b) # < 表示小于 print(a > b) # > 表示大于 print(a <= b) # <= 表示小于等于 print(a >= b) # >= 表示大于等于 print(type(a >= b))
False True False True False True <class 'bool'>
赋值运算的运算法则和算数运算一样,包括包括加/减/乘/除/取余/取整/幂
a = 5 a += 3 # 相当于a = a + 3 ,加 print(a) a -= 3 # 相当于a = a - 3,减 print(a) a *= 3 # 相当于a = a * 3,乘 print(a) a /= 3 # 相当于a = a / 3,除 print(a) a **= 3 # 相当于a = a ** 3,幂次方 print(a) a //= 3 # 相当于a = a // 3,取整 print(a) a %= 3 # 相当于a = a % 3,取余 print(a)
8 5 15 5.0 125.0 41.0 2.0
逻辑运算包括:and(与),or(或),not(非)
- and(与):表示只有都是Ture才表示Ture,只要有一个False就表示False
print(1 > 2 and 2 < 3) # False 有一个False则时False print(1 > 0 and 2 < 3) # Ture 只有两个都是Ture才表示Ture
False True
- or(或):与and相反,只有都是False才表示False,只要有一个Ture就表示Ture
print(1 > 2 or 2 < 3) # Ture 有一个Ture就是Ture print(1 < 0 or 2 > 3) # False 两个都是False才表示False
True False
- not(非):表示取反,Ture取反为False,False取反为Ture
print(not 1 > 2)
True
注意:逻辑运算是从左往右进行判断
身份运算符是对进行变量值地址进行判断,其表示方式有:is/is not
x = 365 y = x z = 365 print(x is y) print(y is z) print(z is not x)
True False True
在编程语言中,运算符计算具有优先级,为了更方便的进行理解,可以将优先级用括号括起来
a = 4 b = 4 c = 4 print(f'a={a},b={b},c={c}') # 一个一个赋值太烦了,所以python提供了一个链式赋值,给两个以上变量赋值同一个值
a=4,b=4,c=4
a = b = c = 4 print(f'a={a},b={b},c={c}')
a=4,b=4,c=4
在我们正常了解中,要实现两个变量值的更换,我们需要借助第三个变量才能实现,但现在python提供了一个更快的方法,一条语句就可以实现
x = 5 y = 9 z = x x = y y = z print(x,y) # 代码比较长,不方便
9 5
x = 5 y = 9 x,y = y,x print(x,y)
9 5
如果要将一个一个列表里的值转换成变量1,变量2,变量3……,正常情况下应该是
hobby_list = ['read','run','music','code'] hobby1 = hobby_list[0] hobby2 = hobby_list[1] hobby3 = hobby_list[2] hobby4 = hobby_list[3] print(hobby1,hobby2,hobby3,hobby4)
read run music code
但Python提供了一个更快捷方便的方法解压缩
,赶紧来瞧一瞧吧
hobby_list= ['read','run','music','code'] # 基础版 hobby1,hobby2,hobby3,hobby4 = hobby_list print(hobby1,hobby3)
read music
hobby_list= ['read','run','music','code'] hobby1,hobby3 = hobby_list # 报错,list里面有4个元素,但外面只有2个变量去接收,所以会报错 print(hobby1,hobby3)
--------------------------------------------------------------------------- ValueError Traceback (most recent call last) <ipython-input-51-6ccfe654c172> in <module> 1 hobby_list= ['read','run','music','code'] ----> 2 hobby1,hobby3 = hobby_list # 报错,list里面有4个元素,但外面只有2个变量去接收,所以会报错 3 print(hobby1,hobby3) ValueError: too many values to unpack (expected 2)
所以解压缩也是需要一一对应的,但正常情况下我们可能只需要list中某一个值,其他的都不需要,取出来也没啥用,那该怎么办呢?
我们可以这样操作
hobby_list= ['read','run','music','code','food'] # 进阶版1.0 hobby1,_,_,_,hobby5 = hobby_list print(hobby1,hobby5)
read food
hobby_list= ['read','run','music','code','food'] # 进阶版2.0 hobby1,*_,hobby5 = hobby_list print(hobby1,hobby5)
read food
既然list可以解压缩,那么dict是否可以呢?我们来试试
info_dict = {'name': 'hades', 'weight': 125, 'height': 167.6, 'hobby_list': ['read', 'write', 'listen music', 'travel']} info1,_,_,info4 = info_dict print(info1,info4)
name hobby_list
看到上面的代码没,dict也是可以解压缩的,只不过压缩的是key值