1、真值测试
任何对象都能在 if 或 while 条件下、或布尔操作执行真值测试
以下值都被认为 false:
- None
- False
- 任何数字类型的0值:0、0.0、0j
- 任何空序列:()、[ ]
- 任何空 mapping:{ }
- 用户自己定义的类构成的实例,类中含有 __ bool__ 或 __ len__ 方法,并且返回了 整数0 或False值
!其他的值都被认为是 true
2、布尔操作
- and(两个条件都满足为 True,否则False)
- or(只要有一个条件满足就为 True,否则False)
- not(取反值)
3、比较
python有 8 种比较操作,它们的优先级都是相同的(比布尔值优先级高),可以多个链接起来,比如
x < y <= z 等同于 x < y or y <= z,8种比较操作如下:
<、<=、>、>=、==、!=、is、is not
4、数值类型
- int (booleans是int的一个子类)
- float
- complex (复数)
任何非复数的数字类型,都支持以下操作
+、-、、/、//、%、abs()、int()、float()、x*y = pow(x, y)
divmod(x, y) ——> (x//y, x%y)
>>> divmod(4, 2)
(2, 0)
5、迭代器类型和生成器类型
Python 支持迭代容器的概念(容器:用来存放数据结构的集合,如 list、tuple等)
两个方法:
- iter() 返回迭代器类型
- next() 返回迭代器的下一个值
Python的生成器提供了一个方便的方式去执行迭代器协议
此部分可详见 Generator和Iteration
6、序列类型
三种基本的序列类型:list、tuple和 range对象,下图的基本操作主要针对 list 和 tuple 而言
s.index(x[,i[,j]])实例
>>>L = list(range(1, 10))
>>> L.index(9)
8
一般不用管i和j的值,i、j均是index,如果x不在i~j范围内,则报错
>>> L.index(9, 1, 7)
Traceback (most recent call last):
File "", line 1, in
ValueError: 9 is not in list
序列分为可变类型(list)和不可变类型(tuple)
如果想对sort()详细了解,可见 Python | sorted() And list.sort()
7、文本序列类型 str
字符串是Unicode代码点的不可变序列,str的方法太多,下面只记录一些常见的方法
篇幅有限,更多的请在标准库查看