鱼C论坛

 找回密码
 立即注册
查看: 1531|回复: 8

[已解决]操作符

[复制链接]
发表于 2020-8-5 20:24:10 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
刚学习几天 操作符一直都不懂  哪个大佬可以给我讲讲 操作符一共有几种  每一种的操作符都包含什么  还要他们的优先级是什么 谢谢
not 1 or 0 and 1 or 3 and 4 or 5 and 6 or 7 and 8 and 9   还有这道题到底什么意思 答案又是什么  谢谢了  我基础太差了 你们谁有自己做的基础的一些笔记 可以发给我 最好是通俗易懂的 毕竟我是小白  谢谢 2746612673@qq.com
最佳答案
2020-8-5 20:58:52
哥白尼 发表于 2020-8-5 20:57
奥明白了 还有 像一元操作符二元操作符 当-作为负号使用就是一元操作符 当作为减号来使用 如3-2  这时候 ...

正确
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-8-5 20:25:32 | 显示全部楼层
本帖最后由 xiaosi4081 于 2020-8-5 20:34 编辑

a and b
a和b必须都为True,这个才能成真

a or b
a和b其中一个为True,这个就能成真

not a
假如a为True,这个就是反过来的:false
假如a为false,这个就是反过来的:true

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-5 20:33:09 | 显示全部楼层
[b]
not or and 的优先级是不同的:not > and > or

我们按照优先级给它们加上括号:(not 1) or (0 and 1) or (3 and 4) or (5 and 6) or (7 and 8 and 9)
== 0 or 0 or 4 or 6 or 9
== 4

为啥是 4?

3 and 4 == 4,而 3 or 4 == 3。
所以答案是:4

逻辑操作符有个有趣的特性:在不需要求值的时候不进行操作。
这么说可能比较“高深”,举个例子,表达式 x and y,需要 x 和 y 两个变量同时为真(True)的时候,结果才为真。因此,如果当 x 变量得知是假(False)的时候,表达式就会立刻返回 False,而不用去管 y 变量的值。
[/b]
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-8-5 20:38:52 | 显示全部楼层
Hello. 发表于 2020-8-5 20:33
not or and 的优先级是不同的:not > and > or

我们按照优先级给它们加上括号:(not 1) or (0 and 1)  ...

我还是没懂 为什么 3 and 4 会是4  3 or 4==3  这是怎么算的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-5 20:41:01 | 显示全部楼层
哥白尼 发表于 2020-8-5 20:38
我还是没懂 为什么 3 and 4 会是4  3 or 4==3  这是怎么算的

[b]这个叫短路逻辑
短路逻辑规则如下:
表达式从左至右运算,若 or 的左侧逻辑值为 True ,则短路 or 后所有的表达式(不管是 and 还是 or),直接输出 or 左侧表达式 。若 or 的左侧逻辑值为 False ,则输出or右侧的表达式,不论其后表达式是真是假,整个表达式结果即为其后表达式的结果
表达式从左至右运算,若 and 的左侧逻辑值为 False ,则短路其后所有 and 表达式,直到有 or 出现,输出 and 左侧表达式到 or 的左侧,参与接下来的逻辑运算。若 and 的左侧逻辑值为 True,则输出其后的表达式,不论其后表达式是真是假,整个表达式结果即为其后表达式的结果
若 or 的左侧为 False ,或者 and 的左侧为 True 则不能使用短路逻辑。
注意:
1、在Python中and的优先级是大于or的,而且and和or都是会返回值的并且不转换为True和False。当not和and及or在一起运算时,优先级为是not>and>or
2、在Python中,None、任何数值类型中的0、空字符串“”、空元组()、空列表[]、空字典{}都被当作False,还有自定义类型,如果实现了 __ len __ () 方法且方法返回 0 或False,则其实例也被当作False,其他对象均为True。



简单点说就是 or 只要判断到 True 就返回该处的值,and 只要判断到False 就返回 False ,当 and 两边都为 True 时,返回右边的数


帮到你,不要忘了设置最佳[/b]

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-8-5 20:49:13 | 显示全部楼层
Hello. 发表于 2020-8-5 20:41
这个叫短路逻辑

不好意思  我还是不大懂 像 3and4   and两边也没有什么比较运算符 只是单纯的两个数字 为什么3 and 4 ==4呢 像 3  or  4  也是一样  两边只是单纯的数字 如果算出结果
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-5 20:51:53 | 显示全部楼层
哥白尼 发表于 2020-8-5 20:49
不好意思  我还是不大懂 像 3and4   and两边也没有什么比较运算符 只是单纯的两个数字 为什么3 and 4 ==4 ...

3 and 4 两边判断都是 true,因为都不为零对吧,所以返回右边的数,也就是 4

3 or 4  ,or 是判断到 true 就返回右边的数,也就是 3
你把楼上我的话再理解一遍
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-8-5 20:57:13 | 显示全部楼层
Hello. 发表于 2020-8-5 20:51
3 and 4 两边判断都是 true,因为都不为零对吧,所以返回右边的数,也就是 4

3 or 4  ,or 是判断到 t ...

奥明白了 还有 像一元操作符二元操作符 当-作为负号使用就是一元操作符 当作为减号来使用 如3-2  这时候是不是就是二元操作符了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-5 20:58:52 | 显示全部楼层    本楼为最佳答案   
哥白尼 发表于 2020-8-5 20:57
奥明白了 还有 像一元操作符二元操作符 当-作为负号使用就是一元操作符 当作为减号来使用 如3-2  这时候 ...

正确
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-23 19:06

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表