前言

众所周知在Python 中常用的数据类型bool(布尔)类型的实例对象(值)就两个,真和假,分别用True和False表示。在if 条件判断和while 语句中经常用到,不过在Python2.x 中,True 和False 却有着奇怪的用法,就是真假可以相互被替换

先看下面代码:

>>> True

True

>>> False

False

>>> if True:

... print True

...

True

>>> if not False:

... print False

...

False

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

>>> 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一样可以被重新赋值,因此我们可以把这两个变量进行任意的赋值,比如:

True = 2

False = "abc"

甚至是True和False进行互换

tmp = True

True = False

False = tmp

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

因此,在Python 中我们不要随意给True 和False 赋新的值,否则程序代码逻辑都会乱套了。这也算是Python2.x 中一个坑,不过在Python3.x 中,终于把这个两变量变成了关键字,也就是说,程序员再也没法给这两变量赋新的值了,从此True永远指向真对象,False指向假对象,永不分离。用keyword模块检测True 和False 是否为关键字。

>>> import keyword

>>> keyword.iskeyword('True')

False

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者使用python能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对脚本之家的支持。

python中true是什么意思_Python解惑之True和False详解相关推荐

  1. python中for循环的代码_Python for循环及基础用法详解

    Python 中的循环语句有 2 种,分别是 while 循环和 for 循环,前面章节已经对 while 做了详细的讲解,本节给大家介绍 for 循环,它常用于遍历字符串.列表.元组.字典.集合等序 ...

  2. python中values是什么意思_Python values()与itervalues()的用法详解

    dict 对象有一个 values() 方法,这个方法把dict转换成一个包含所有value的list,这样,我们迭代的就是 dict的每一个 value: d = { 'Adam': 95, 'Li ...

  3. 站长在线Python精讲:在Python中使用split()方法分割、使用join()方法合并字符串详解

    欢迎你来到站长在线的站长学堂学习Python知识,本文学习的是<在Python中使用split()方法分割.使用join()方法合并字符串详解>.本知识点主要内容有:在Python中使用s ...

  4. python简单计算器综合实验报告_Python实现的简单计算器功能详解

    本文实例讲述了Python实现的简单计算器功能.分享给大家供大家参考,具体如下: 使用python编写一款简易的计算器 计算器效果图 首先搭建计算器的面板: 计算器面板结构 建造一个继承于wx.Fra ...

  5. python中fn的用法_Pytorch技巧:DataLoader的collate_fn参数使用详解

    DataLoader完整的参数表如下: class torch.utils.data.DataLoader( dataset, batch_size=1, shuffle=False, sampler ...

  6. python数据清理的实践总结_python 数据的清理行为实例详解

    python 数据的清理行为实例详解 数据清洗主要是指填充缺失数据,消除噪声数据等操作,主要还是通过分析"脏数据"产生的原因和存在形式,利用现有的数据挖掘手段去清洗"脏数 ...

  7. python标准类型内建模块_Python内建模块struct实例详解

    本文研究的主要是Python内建模块struct的相关内容,具体如下. Python中变量的类型只有列表.元祖.字典.集合等高级抽象类型,并没有像c中定义了位.字节.整型等底层初级类型.因为Pytho ...

  8. python源程序文件的扩展名_python程序文件扩展名知识点详解

    python程序文件的扩展名称是什么 python程序的扩展名有.py..pyc..pyo和.pyd..py是源文件,.pyc是源文件编译后的文件,.pyo是源文件优化编译后的文件,.pyd是其他语言 ...

  9. python分析方向的第三方库_Python标准库与第三方库详解

    干货大礼包!21天带你轻松学Python(文末领取更多福利) 点击查看课程视频地址 本课程来自于千锋教育在阿里云开发者社区学习中心上线课程<Python入门2020最新大课>,主讲人姜伟. ...

最新文章

  1. Flink常见流处理API
  2. Linux 主机超全渗透测试命令汇总
  3. 取得数组最大值与最小值
  4. 关于MFC中CSpinButtonCtrl控件
  5. .java和.class的区别_Java中class与Class有什么区别
  6. 苹果CMSV10好看的模板灰黑色爱看影院自适应炫酷黑模板
  7. Kali Linux进阶篇:Nmap扫描网络空间存活主机技巧
  8. 联想服务器无线网卡被禁用,无线网卡被禁用怎么办
  9. 百度网盘目录搜索引擎上线了 百度网盘目录搭建系统
  10. Ubuntu 18.04 基础系统配置
  11. Pycharm中运行yolov5-pytorch出现错误:AttributeError: ‘Hardswish‘ object has no attribute ‘inplace‘
  12. windows下使用ELK搭建SGK教程
  13. 奋斗的青春,无悔的时光
  14. 群响刘思毅 | 创始人的流量焦虑
  15. HBase Flush 解析
  16. 导出https网站证书
  17. 模型优化与tensorflow
  18. 芯片制造过程3洁净室
  19. 思维导图软件:幕布 for mac
  20. 计算机信息安全培训计划,年度信息安全培训计划.doc

热门文章

  1. python与pdf与word(datawhale组队学习task3)
  2. [bzoj3141][HNOI2013]旅行
  3. Linux下的 command not found错误(解决方法)
  4. YouDianCMS建站系统|什么是五站合一?
  5. 【装机心得】关于系统启动U盘的那些事(上)
  6. Matlab中的resample函数和decimate函数
  7. 清华刘知远:大模型「十问」,寻找新范式下的研究方向
  8. 文件夹文件自动生成目录的方法-保存到txt
  9. mysql 查看slow query_MySQL慢查询日志(slow log)
  10. 大学物理复习笔记——光学