首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

你知道为什么python3没有把False当做布尔值吗?

Python3没有把False当做布尔值是因为Python3中引入了布尔类型(bool),并且将True和False作为bool类型的两个取值。这样做的目的是为了增加代码的可读性和一致性。

在Python2中,False被视为整数类型的0,而True被视为整数类型的1。这种设计在某些情况下可能会导致代码的可读性降低,因为在逻辑判断中,我们通常期望使用True和False来表示真和假。

而在Python3中,False被定义为bool类型的False值,True被定义为bool类型的True值。这样的设计使得代码更加直观和易于理解,同时也符合了其他编程语言中的布尔类型的设计。

总结起来,Python3没有把False当做布尔值是为了提高代码的可读性和一致性,使得逻辑判断更加直观和易于理解。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Python入门教程(二)

“编程语言就是语法糖”,可能知道什么是语法糖,但是知道的人也未必认同我。我不保证你们能听懂……python的教程有很多,但是我对很多都不满意,所以这算是我的尝试吧。   ...2放进B 字符串“有可能”放进变量“这个数还有可能是素数下面括号里的句子一直重复下去 ( 如果A除以B没有余数,那么字符串“不可能”放进变量“这个数还有可能是素数B加上1 如果此时...100遍 ( 新建一个变量B 新建一个变量“这个数还有可能是素数2放进B 字符串“有可能”放进变量“这个数还有可能是素数下面括号里的句子一直重复下去 ( 如果A除以B没有余数,那么字符串...在英文中是没有前引号和后引号之分的,在从前往后读的时候,第一个会被当成前引号,第二个则与前一个匹配,被当做后引号。可以字符串赋值给一个变量。如果一串英文不在引号里,那么它会被看成一个变量名称。...如果强制对布尔值做加法,True被视为1,False为0 。   可搜索“布尔代数” 标准库   库是模块。多数放在环境变量下。

77510
  • Python 语法基础

    在实际中,这可以让语言非常灵活,因为函数也可以被当做对象使用。 注释 在python中,任何前面带有井号#的文本都会被Python解释器忽略,这通常被用来添加注释。...字符串 与C/C++相比,Python对字符串得处理真的很灵活,尤其是在Python3中对中文字符串也支持友好了。...要写一个包含反斜杠的字符串,需要进行转义: 通过转义字符,可以联想到为什么Windows系统下路径要用\\表示了,因为一个\表示转义字符,容易引起误解。...a = 'c:/' b = 'Python3/' a+b # 'c:/Python3/' 字符串的模板化或格式化是一个重要的知识点,在编程中经常遇到!...布尔值 Python中有两个布尔值,True和False。比较和其它条件表达式可以用True和False判断。

    64610

    【python进阶】详解元类及其应用2

    创建类就是为了创建类的实例对象,不是?但是我们已经学习到了Python中的类也是对象。...现在你想知道为什么type会全部采⽤⼩写形式⽽不是Type呢? 好吧,我猜这是为了和str保持⼀致性,str是⽤来创建字符串对象的类,⽽int 是⽤来创建整数对象的类。type就是创建类对象的类。...Python 会在类的定义中寻找__metaclass__属性,如果找到了,Python就会⽤它来创建类Foo,如果没有找到,就会⽤内建的type来创建这个类。下⾯这段话反复读⼏次。...但就元类本身⽽ ⾔,它们其实是很简单的: 拦截类的创建  修改类  返回修改之后的类 究竟为什么要使⽤元类? 现在回到我们的⼤主题上来,究竟是为什么会去使⽤这样⼀种容易出错且晦涩的特性?...那些实际⽤到元类的⼈都⾮常 清楚地知道他们需要做什么,⽽且根本不需要解释为什么要⽤元类。” —— Python界的领袖 Tim Peters

    62190

    万恶之源 - Python基础数据类型一

    中long(长整型)不存在 布尔值 布尔值(bool) 判断真假; 取值只有 True False  转换问题: str ==> int n = int('22') print(n) 结果: 22 #注意点...[ ]是干啥的,这个是一个查找,我不知道字符串中第一个是什么,但是我知道第一个的索引,我就可以通过这个方式来查看 比方:我不知道这个学生叫什么,但是我知道他的学号.我也可以通过学号找到这个同学....name[-1]) 结果: t 告诉大家一个小技巧,当开始的是我们不能明确的区分这个字符串中的每个索引的时候,我们就先把每个字母对应的索引写下来,这样就方便我们查找 上边我们说完了索引,你们就以为完事了是?...不是滴,咱们还有来个内容没有进行讲解,分别是切片和步长 切片 切片又是什么呢?...结果: mee [第一个位置是开始:第二个位置是终止]中间必须使用分号,这样的写法就是从索引0开始获取到索引3结束   这个结果是不是和大家想的有点出入啊,大家肯定认为获取到的内容是meet,但是为什么

    1.2K20

    走进 JDK 之 Boolean

    还记得什么是 slot ,slot 是虚拟机为局部变量分配内存所使用的最小单位。args_size 是参数个数,这里 test() 方法并没有参数,但是每个方法都有一个参数是指向当前引用自身的。...JVM 并没有为 boolean 专门做处理,而是直接当做 int 处理。true 就是 1, false 就是 0 。...根据 Java 虚拟机规范,JVM 并没有任何供 boolean 值专用的字节码指令,Java 源代码中使用到的布尔值,在编译之后都使用 int 值来代替。...那么 JVM 为什么没有给每种数据类型都配置完整的操作码呢?这还得从操作码的长度说起。 Java 虚拟机操作码的长度为一个字节,所以字节码指令集的操作码总数不可能超过 256 条。...总结 Boolean 其实是被当做 int 值处理的,true 表示 1,false 表示 0 JVM 为 int 提供了完善的操作码,boolean 、byte 、char 、short 在编译期或运行期都会被转换为

    77020

    一些常见的新手问题

    特别注意:Python3 的 input 相当于 raw_input,不再提供直接输入数值的方法。对于数字类型的输入,需额外做转换。 6. print 为什么报错? 需要输出一个已定义的值。...根据系统的不同选择对应的下载文件,需要确认是否 64 位系统。如果无法确认,就选择非 64 位的版本。...对于正在用和打算用 Python3 的同学,请先看下此篇: 【Git 第63课】python 2到3的新手坑 8. 为什么程序里加了中文就报错? 这是因为对字符的编码没有处理好。...具体参见: 浅谈 Python 2 中的编码问题 判断字符编码 9. while 一课中,为什么在开始要 bingo = False? bingo 是否为 False 是这里循环的判断条件。...开始 bingo = False 是为了提供一个符合循环条件的初始值。知道猜中之后,设置 bingo = True,下次循环就不再执行。 10.

    73990

    python学习历程之----基础篇(二)

    ,并赋予它一个值,必须首先定义,然后才能赋值,其实在前一篇文章中,大家就已经见识到,变量的定义了,只是当时小编没有说明而已,下面来看一个实际的例子: # -*- coding:utf-8 -*- #...布尔型:布尔值只有True、False两种值,要么是True,要么是False,在Python中,可以直接用True、False表示布尔值(请注意大小写),也可以通过布尔运算计算出来(例如3 < 5会产生布尔值...True,而2 == 1会产生布尔值False)。...难道就没有一个简便的办法可以一次编写,到处使用? 是的,有的 函数由此应运而生,它的存在,几乎就是为了,一次编写,到处使用,方便广大的编程学习者。...功能就是显示括号里面的内容在屏幕上,而现在我们来学习一下它的对头函数,有打印(输出)肯定有输入函数啊,于是,input()函数诞生了,语法很简单,请看下面的代码实践: input()函数里面可以输入提示语,让知道可以输入哪些东西

    1K20

    面试官:为什么false == ”都返回true?

    有时我真的想不通它是如何工作的,看完这5个奇怪的问题,知道我为啥这么说了,知道这些古怪问题的正确答案? 我们现在开始吧。 1、为什么false == []”和“false == !...当我们遇到一个布尔值和一个对象进行比较时,会将这两个值转换为数字进行最后的比较。 所以它会经历这些步骤。 // 1. Convert false to a number to get 0 // 2....[]" is false // 2. false == false Returns true console.log(false == ![]) // true 2. 为什么“[] == !...另外,如果抛出异常,即使没有catch子句处理异常,finally子句中的语句也会被执行。 4.关于箭头功能? 是的,问题很简单,会看到fatfish被打印出来了。...为什么 JSON.stringify('fatfish') ! ==‘fatfish’? name1 会等于 name2

    94810

    Python 元类

    类和变量是不同的,这里没有任何理由事情弄的复杂。...创建类就是为了创建类的实例对象,不是?但是我们已经学习到了Python中的类也是对象。...如果这么做了,Python就会用元类来创建类Foo。小心点,这里面有些技巧。首先写下class Foo(object),但是类Foo还没有在内存中创建。...现在回到我们的大主题上来,究竟是为什么会去使用这样一种容易出错且晦涩的特性?好吧,一般来说,根本就用不上它: “元类就是深度的魔法,99%的用户应该根本不必为此操心。...如果你想搞清楚究竟是否需要用到元类,那么就不需要它。那些实际用到元类的人都非常清楚地知道他们需要做什么,而且根本不需要解释为什么要用元类。” —— Python界的领袖 Tim Peters

    1.6K30

    Python教程第2章 | 基本数据类型和变量

    print() 函数由两部分构成 : 指令:print 指令的执行对象,在 print 后面的括号里的内容 而 print() 函数的作用是让计算机给它的指令结果,显示在屏幕的终端上。...计算机执行完后就打印结果 可能这里有人会问,为什么要加单引号,直接 print(Hello Python) 不行吗?...选择哪种引号取决于的具体需求,例如是否需要跨越多行、是否包含特殊字符等。 2、整数 整数包括正整数、负整数和零,是没有小数点的数字。...4、布尔值 布尔值和布尔代数的表示完全一致,一个布尔值只有 True 、 False 两种值,要么是 True,要么是 False,在 Python 中,可以直接用 True、False 表示布尔值(请注意大小写...not 运算是非运算,它是一个单目运算符, True 变成 FalseFalse 变成 True。

    15810

    几分钟内学习 Clojure

    ; 也不必担心逻辑运算 (not true) ; => false ; 嵌套方式正如你预料的那样 (+ 1 (- 3 2)) ; = 1 + (3 - 2) => 2 ; 类型系统 ;;;;;...;;;;;;;; ; Clojure 使用java对象类型来表示 布尔值、字符串和数字 ; 使用 `class`函数来检测它们....'(+ 1 2) ; => (+ 1 2) ;这里没有返回3 ; (上面表达式和(quote (+ 1 2)) 等价,不过更简洁 ; 可以运算一个引用列表 (eval '(+ 1 2)) ; =>...'(1 2 3)); => clojure.lang.PersistentList ;书写一个列表形如(1 2 3)一样简单, 但是我们不得不把它“引”(前面加个单引号)起来 ;这样就能防止解释器当做一个函数来解析...; 从一个map中检索一个值,可以直接这个map当做函数调用(这个NB) (stringmap "a") ; => 1 (keymap :a) ; => 1 ; 关键字也可以当做函数来调用,从一个

    1.7K40

    探寻Python类的鼻祖——元类

    类和变量是不同的,这里没有任何理由事情弄的复杂。...创建类就是为了创建类的实例对象,不是?但是我们已经学习到了Python中的类也是对象。...现在你想知道为什么 type 会全部采用小写形式而不是 Type 呢?好吧,我猜这是为了和 str 保持一致性,str是用来创建字符串对象的类,而 int 是用来创建整数对象的类。...但就元类本身而言,它们其实是很简单的: 拦截类的创建 修改类 返回修改之后的类 究竟为什么要使用元类? 现在回到我们的大主题上来,究竟是为什么会去使用这样一种容易出错且晦涩的特性?...那些实际用到元类的人都非常清楚地知道他们需要做什么,而且根本不需要解释为什么要用元类。”

    91700

    python0033_回车_carriage_return_figlet_字体变大

    的话 各个进程独立python3 show_time.py 大概 7M各占内存 这个切进程很好用 不过运行进程的时候总是满屏刷时间可以固定在屏幕的某个位置刷新时间?...编辑要清清楚楚看报时字体变大#安装figletsudo apt install figlet#运行figletfiglet "oeasy"#利用管道使用figletecho "oeasy" | figlet尝试使用​编辑为什么可以变大呢...流动 echo "oeasy"的输出结果 当做 figlet 的输入参数再进行输出​编辑这有点亚文化啊 文艺起来 可以写一些关于青春、励志、爱情的句子 就更亚文化了​编辑figlet 有别的字体么?...figlet 字体 控制字体 -f​编辑实际效果​编辑还有什么可以控制?...入门课程,对没有编程经验的同学也非常友好。

    70940

    Python——数值类型

    = 1 False 这样的表达式就已经过于复杂了,不太好理解其中的逻辑。当然了,的真实意图可能如下: >>> ((not x) and y) or (y > (x !...= 1)) True 这时候,结果就和上面的不一样了,所以如果没有必要,不要写复杂表达式,如果写了,那么请给复杂表达式加上()来精确的表达的意思。...由于python2已经停止了支持,本专栏的所有内容将只针对python3。 /:现在python3中的/总是执行真除法,无论操作数的类型是什么。执行结果总是包含小数部分。...布尔类型 python提供了显示的布尔类型,True和False是预置的两个布尔值。实际上,True和False是bool的两个实例,而bool只是内置类型int的子类。...True和False的行为和1,0一致。bool为True和False重新定义了str和repr的字符串格式,所有打印出来就会显示True和False,而不是1,0.

    1.1K30

    Python 进阶指南(编程轻松进阶):九、深奥的 Python 怪现象

    这解释了为什么它们的字符串的 id 是相同的。 这种优化被称为字符串预留,和预分配整数一样,它只不过是 CPython 实现的一个细节。不应该写依赖它的代码。...全部或者没有 all()内置函数接受一个序列值,比如一个列表,如果该序列中的所有值都是“真”,则返回True如果一个或多个值为“假”,它将返回False可以认为函数调用all([False, True...本来 Python 没有bool数据类型。直到 Python2.3 才添加了布尔值,此时它将bool变成了int的子类以简化实现。...可以在www.python.org/dev/peps/pep-0285读取 PEP 285 中bool数据类型的历史。 顺便说一下,True和FalsePython3 中只是关键字。...False >>> True = False >>> True is False True 幸运的是,这种令人困惑的代码在 Python3 中是不可能的,如果您试图使用关键字True或False作为变量名

    61340

    探寻Python类的鼻祖——元类

    类和变量是不同的,这里没有任何理由事情弄的复杂。...创建类就是为了创建类的实例对象,不是?但是我们已经学习到了Python中的类也是对象。...现在你想知道为什么 type 会全部采用小写形式而不是 Type 呢?好吧,我猜这是为了和 str 保持一致性,str是用来创建字符串对象的类,而 int 是用来创建整数对象的类。...但就元类本身而言,它们其实是很简单的: 拦截类的创建 修改类 返回修改之后的类 究竟为什么要使用元类? 现在回到我们的大主题上来,究竟是为什么会去使用这样一种容易出错且晦涩的特性?...那些实际用到元类的人都非常清楚地知道他们需要做什么,而且根本不需要解释为什么要用元类。”

    83710
    领券