周二,阴
天气不好,作业也没做,但是醒得早,打开电脑学习一下python,嘻嘻
小甲鱼老师的第六课是常用操作符
具体讲的是
+(加)\-(减)\*(乘)\/(除)\%(取余)\**(幂)\//(地板除)
前四项加减乘除,买菜用的。非常基础的运算,先乘除后加减,大家都知道。
Tips :
在同一行给多个变量赋值 :
>>> a = b = c = d = 10
变量的改变:
>>> a = a + 3
可以简写为:
>>> a += 3
关于floor // 地板除:
py3中,“ / ” 已经成为了精确的除法,即 :
>>> d = 10
>>> d /= 8
>>> d = 1.25
想要恢复 py2 中的地板除(舍余数取整),要用 “ // ” ,即:
>>> 10 // 8 = 1
关于幂 **:
** 幂运算操作符,比其左边的单目操作符优先级高,比起右边的单目操作符优先级低。
>>> -3 ** 2#真正的顺序是 -(3 ** 2)
>>> 3** -2#真正的顺序是3 ** (-2)
关于逻辑操作符 (not and or):
not 与其右侧的结果相反,and 左右两侧同为 True 才为 True,or 左右两侧有一侧为 True 则为 True。
操作符顺序表:
最后关于逻辑运算符,有一个短路逻辑,不是特别好理解,在博客园找了一位老哥 @luser_run 的总结 :
表达式从左至右运算,若or 的左侧逻辑值为 True,则短路 or 后所有的表达式(不管是 and 还是 or),直接输出 or 左侧表达式 。
表达式从左至右运算,若and 的左侧逻辑值为 False,则短路其后所有 and 表达式,直到有 or 出现,输出 and 左侧表达式到 or 的左侧,参与接下来的逻辑运算。
若 or 的左侧为 False ,或者 and 的左侧为 True 则不能使用短路逻辑。
然后贴一个小甲鱼的练习题:
快速说出答案 :
not 1 or 0 and 1 or 3 and 4 or 5 and 6 or 7 and 8 and 9
首先,根据运算顺序 (not > and > or)简化一下 :
0 or 0 or 4 or 6 or 9
再根据短路逻辑:
最开始的 0 or 0 是 false,
而到了 4 or 6 or 9 ,
式子最左侧的 4 为 True (非 0 数 py 都解释为True),所以在 or 里直接短路后面的数,得到 4 的答案。
所以,算乱七八糟的操作符,还是带括号最靠谱。
小甲鱼-零基础入门学习python 006
领取专属 10元无门槛券
私享最新 技术干货