PYTHON笔记00

周二,阴

天气不好,作业也没做,但是醒得早,打开电脑学习一下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

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181106G0V6LP00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券