python8&47;2>;5表达式是true吗?

答案:不是True,是False。因为8/2==4,而45与45)的结果返回False。
python8&47;2>;5表达式是true吗?
众所周知在Python 中常用的数据类型bool(布尔)类型的实例对象(值)就两个,真和假,分别用True和False表示。在if 条件判断和while 语句中经常用到,不过在Python2.x 中,True 和False 却有着奇怪的用法,就是真假可以相互被替换

先看下面代码:

1

2

3

4

5

6

7

8

9

10

11

12

>>>True

True

>>>False

False

>>>if True:

...print True

...

True

>>>if not False:

...print False

...

False

这段代码逻辑理解起来没任何问题,if 判断中只要表达式的值返回 True,就执行if 代码块中的语句。再来看下一段代码:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

>>>True,False = False,True

>>>True

False

>>>False

True

>>>if not True:

...print False

...

True

>>>if False:

...print True

...

False

>>>

我把True 和False 互换了一下,就是传说中的颠倒是非黑白。真变成了假,假变成了真。于是在条件判断中,表达式的值返回False才执行代码块中的语句。究竟是什么原因呢?

解惑

在Python2.7 中,True和False是两个内建(built-in)变量,内建变量和普通自定义的变量如a, b, c一样可以被重新赋值,因此我们可以把这两个变量进行任意的赋值,比如:

1

2

True = 2

False = "abc"

甚至是True和False进行互换

1

2

3

tmp= True

True = False

False = tmp

互换后变量True指向了假对象,False指向了真对象:

1-20093014304A34.png

因此,在Python 中我们不要随意给True 和False 赋新的值,否则程序代码逻辑都会乱套了。这也算是Python2.x 中一个坑,不过在Python3.x 中,终于把这个两变量变成了关键字,也就是说,程序员再也没法给这两变量赋新的值了,从此True永远指向真对象,False指向假对象,永不分离。用keyword模块检测True 和False 是否为关键字。2022-12-13
答案:不是True,是False。
因为8/2==4,而4<5,那么,8/2>5与4<5相矛盾,则python运行print(8/2>5)的结果返回False。2022-12-13
mengvlog 阅读 54 次 更新于 2025-12-17 01:44:26 我来答关注问题0
檬味博客在线解答立即免费咨询

Python相关话题

Copyright © 2023 WWW.MENGVLOG.COM - 檬味博客
返回顶部