当前位置:首页 » 编程语言 » python中的非

python中的非

发布时间: 2023-08-22 20:39:37

python 布尔“非”输入False,返回False

这里你的x和y都不是同一个变量了。。
x = False。跟not y有什么关系呢?
not x肯定是True。

前面说的那个x = True, not y 返回False,肯定是你之前定义过了y为True,否则会报错的。。

② python-逻辑运算:not\and\or和布尔值:True\False

这东西在每一个语言都有,and or not 对应与、或、非三种逻辑运算;True和False是bool值,即真和假。
逻辑运算和布尔值经常用于if判断语句、循环语句的条件语句。
首先作为控制条件应该是一个布尔值,即真和假——True和false。
python的内置类——布尔类,只有两个实例:True和false。对于一般数字而言,0是False,非0是True;对于序列和容器类型,如列表、字典、字符串等,空为False,非空为True。
所以就有了这样的用法:

输出:1 为True

输出: 0 为 False

输出:a = '字符串'

这了可以看出一个实例本身可以作为控制条件,这是因为,解释器会先把这个实例转换为bool类型,然后根据这个bool类型执行程序。即bool(a) = True、bool(b) = False。
但是只用这样的方式控制程序显然不够,比如我希望a为空,b为非空的时候,我输出“我天下第一”,这怎么办?
如果不用not and or 就会写成这样:

输出:我天下第一
可以把a 看成False,b看成True。
从这里我们可以看到,我们用了两层if--else语句来判断a为空,b为非空的情况,那么我用逻辑运算呢?

输出:我天下第一
一样的:可以把a 看成False,b看成True。那么not a and b的意思就是:not False and True
这时候就是逻辑运算符的优先级的问题,这可以借鉴C语言的那本书《C程序设计》第五版的第92页

!非
算数运算符
关系运算符
&& 和 ||
赋值运算符

运算优先级从上到下,越来越低。
这是C语言里的,在python里就是:

not -------------->高
and 和 or ---------->低

所以我们先算not
于是 not False and True 就成所以了True and True这就很清楚了结果为True,所以“我天下第一”。
所以我们就可以总结出:
1.先将实例变为布尔值
2.在计算所有的not
3.根据语言特性,从左到右或者从右到左计算逻辑运算结果。
当然在python中是从左到右。

and 和 or 运算具有短路保护!什么意思呢?看一个栗子

1 or a
or的左边是1也就是True,根据or的运算法则,只要有一个真则为真,所以不管a是真还是假,结果都是真。

0 and a
and 左边为0,为False,同样,and只要有一个为假则为假,所以不管a是真还是假,结果都是假。
所以and 和 or 的结果可以根据第一个操作数的值来确定,那么他就不会对第二个操作数进行运算。
这个功能用起来要很小心,不然很可能会出现想不到的结果。

这里会输出什么呢?
输出:我天下第一

因为x是True,无论y and z 的结果是什么,这个语句的结果都是True,这就是短路保护,当然也有的人说惰性计算。

我觉得迭代器、生成器那个才叫惰性计算。

③ python与或非什么区别

Python逻辑运算符
Python中的逻辑运算,与,或,非,分别对应关键字and,or,not。逻辑与表示两者都为真,返回真,反之为假;逻辑或表示一者为假,则为假;逻辑非表示相反的概念。
Python语言支持逻辑运算符,以下假设变量 a 为 10, b为 20:
Python学习网- 专业的python自学、交流公益平台!

热点内容
阿里云服务器共享电脑 发布:2025-02-05 02:42:18 浏览:417
服务器有多少台电脑 发布:2025-02-05 02:40:41 浏览:447
安卓手机为什么最新微信安装不了 发布:2025-02-05 02:31:03 浏览:106
安卓手机什么时候开售 发布:2025-02-05 02:14:15 浏览:660
编程车模型 发布:2025-02-05 02:09:55 浏览:680
雅马哈天剑哪个配置好 发布:2025-02-05 02:00:35 浏览:170
我的世界国际服推荐118服务器 发布:2025-02-05 01:50:48 浏览:46
普通电脑做服务器怎么操作 发布:2025-02-05 01:46:22 浏览:628
原神为什么同服务器加不起好友 发布:2025-02-05 01:41:03 浏览:337
android连接打印机 发布:2025-02-05 01:40:09 浏览:959