Python简记《Built-in Types》

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 而言


序列类型.PNG
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)

序列.PNG

如果想对sort()详细了解,可见 Python | sorted() And list.sort()

7、文本序列类型 str

字符串是Unicode代码点的不可变序列,str的方法太多,下面只记录一些常见的方法


str.PNG

篇幅有限,更多的请在标准库查看

未完待续...

你可能感兴趣的:(Python简记《Built-in Types》)