上一篇文章: Python标准库---八、内置常量
下一篇文章: Python标准库---十、内置类型:数字类型
如下部分描述了解释器中内置的标准类型。segmentfault
主要内置类型有数字、序列、映射、类、实例和异常。函数
有些多项集类是可变的。 它们用于添加、移除或重排其成员的方法将原地执行,并不返回特定的项,绝对不会返回多项集实例自身而是返回 None。spa
有些操做受多种对象类型的支持;特别地,实际上全部对象均可以被比较、检测逻辑值,以及转换为字符串(使用 repr() 函数或略有差别的 str() 函数)。 后一个函数是在对象由 print() 函数输出时被隐式地调用的。对象
任何对象均可以进行逻辑值的检测,以便在 if 或 while 做为条件或是做为下文所述布尔运算的操做数来使用。排序
一个对象在默认状况下均被视为真值,除非当该对象被调用时其所属类定义了 __bool__() 方法且返回 False 或是定义了 __len__() 方法且返回零。 下面基本完整地列出了会被视为假值的内置对象:ip
产生布尔值结果的运算和内置函数老是返回 0 或 False 做为假值,1 或 True 做为真值,除非另行说明。 (重要例外:布尔运算 or 和 and 老是返回其中一个操做数。)ci
这些属于布尔运算,按优先级升序排列:字符串
注释:get
在 Python 中有八种比较运算符。 它们的优先级相同(比布尔运算的优先级高)。 比较运算能够任意串连;例如,x < y <= z 等价于 x < y and y <= z,前者的不一样之处在于 y 只被求值一次(但在两种状况下当 x < y 结果为假值时 z 都不会被求值)。it
此表格汇总了比较运算:
除了不一样数字类型之外,不一样类型的对象比较时绝对不会相等。 并且,某些类型(例如函数对象)仅支持简化比较形式,即任何两个该种类型的对象一定不相等。 <, <=, > 和 >= 运算符在如下状况中将引起 TypeError 异常:当比较复数与另外一个内置数字类型时,当两个对象具备没法被比较的不一样类型时,或在未定义次序的其余状况时。
具备不一样标识的类的实例比较结果一般为不相等,除非类定义了 __eq__() 方法。
一个类实例不能与相同类或的其余实例或其余类型的对象进行排序,除非该类定义了足够多的方法,包括 __lt__(), __le__(), __gt__() 以及 __ge__() (而若是你想实现常规意义上的比较操做,一般只要有 __lt__() 和 __eq__() 就能够了)。
is 和 is not 运算符没法自定义;而且它们能够被应用于任意两个对象而不会引起异常。
还有两种具备相同语法优先级的运算 in 和 not in,它们被 iterable 或实现了 __contains__() 方法的类型所支持。
上一篇文章: Python标准库---八、内置常量
下一篇文章: Python标准库---十、内置类型:数字类型