#yyds干货盘点#python内置类型

网友投稿 278 2022-09-06


#yyds干货盘点#python内置类型

以下部分描述了解释器中内置的标准类型。

主要内置类型有数字、序列、映射、类、实例和异常。

有些多项集类是可变的。 它们用于添加、移除或重排其成员的方法将原地执行,并不返回特定的项,绝对不会返回多项集实例自身而是返回 ​​None​​。

有些操作受多种对象类型的支持;特别地,实际上所有对象都可以比较是否相等、检测逻辑值,以及转换为字符串(使用 ​​repr()​​ 函数或略有差异的 ​​str()​​ 函数)。 后一个函数是在对象由 ​​print()​​ 函数输出时被隐式地调用的。

逻辑值检测

任何对象都可以进行逻辑值的检测,以便在 ​​if​​ 或 ​​while​ 作为条件或是作为下文所述布尔运算的操作数来使用。

一个对象在默认情况下均被视为真值,除非当该对象被调用时其所属类定义了 ​​__bool__()​​ 方法且返回 ​​False​​ 或是定义了 ​​__len__()​​ 方法且返回零。 ​​1​​ 下面基本完整地列出了会被视为假值的内置对象:

被定义为假值的常量: None 和 False。任何数值类型的零: 0, 0.0, 0j, Decimal(0), Fraction(0, 1)空的序列和多项集: '', (), [], {}, set(), range(0)

产生布尔值结果的运算和内置函数总是返回 ​​0​​ 或 ​​False​​ 作为假值,​​1​​ 或 ​​True​​ 作为真值,除非另行说明。 (重要例外:布尔运算 ​​or​​ 和 ​​and​​ 总是返回其中一个操作数。)

布尔运算 ---and,or,not

这些属于布尔运算,按优先级升序排列:

运算

结果:

备注

​x or y​

if x is false, then y, else x

(1)

​x and y​

if x is false, then x, else y

(2)

​not x​

if x is false, then ​​True​​​, else ​​False​

(3)

注释:

这是个短路运算符,因此只有在第一个参数为假值时才会对第二个参数求值。这是个短路运算符,因此只有在第一个参数为真值时才会对第二个参数求值。not 的优先级比非布尔运算符低,因此 not a == b 会被解读为 not (a == b) 而 a == not b 会引发语法错误。

比较运算

在 Python 中有八种比较运算符。 它们的优先级相同(比布尔运算的优先级高)。 比较运算可以任意串连;例如,​​x < y <= z​​ 等价于 ​​x < y and y <= z​​,前者的不同之处在于 y 只被求值一次(但在两种情况下当 ​​x < y​​ 结果为假值时 z 都不会被求值)。

此表格汇总了比较运算:

运算

含意

​<​

严格小于

​<=​

小于或等于

​>​

严格大于

​>=​

大于或等于

​==​

等于

​!=​

不等于

​is​

对象标识

​is not​

否定的对象标识


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:电脑硬件都有哪些(电脑硬件组成有哪些)
下一篇:Guava Retryer实现接口重试的示例
相关文章

 发表评论

暂时没有评论,来抢沙发吧~