附录 F 速查表
我发现我会频繁地查找某些东西。下面列出的表格希望对你有所帮助。
F.1 操作符优先级
下面这张表是官方文档中关于优先级的混合,高优先级的运算符在上面。
操作符 | 描述和示例 |
---|---|
[v1, …] 、{v1, …} 、{k1: v1, …} 、(…)
| 列表 集合 字典 / 生成器的创建和推导,括号内表达式 |
seq[n] 、seq[n:m] 、func(args…) 、obj .attr
| 索引、切片、函数调用和属性引用 |
**
| 幂运算 |
、 、
| 正号、负号和位求反 |
* 、/ 、// 、%
| 乘法、浮点除法、整数除法和取余 |
+ 、-
| 加法、减法 |
<< 、>>
| 按位左移、按位右移 |
&
| 按位与\ |
|
| 按位或 |
in 、not in 、is 、is not 、< 、<= 、> 、>= 、!= 、==
| 属于关系和相等性测试 |
not x
| 布尔取非 |
and
| 布尔取与 |
or
| 布尔取或 |
if…else
| 条件表达式 |
lambda
| lambda 表达式 |
F.2 字符串方法
Python 不仅提供了字符串方法(不借助 str
对象),而且包含了定义丰富的 string
模块。使用下面的测试变量:
>>> s = "OH, my paws and whiskers!"
>>> t = "I'm late!"
F.2.1 改变大小写
>>> s.capitalize()
'Oh, my paws and whiskers!'
>>> s.lower()
'oh, my paws and whiskers!'
>>> s.swapcase()
'oh, MY PAWS AND WHISKERS!'
>>> s.title()
'Oh, My Paws And Whiskers!'
>>> s.upper()
'OH, MY PAWS AND WHISKERS!'
F.2.2 搜索
>>> s.count('w')
2
>>> s.find('w')
9
>>> s.index('w')
9
>>> s.rfind('w')
16
>>> s.rindex('w')
16
>>> s.startswith('OH')
True
F.2.3 修改
>>> ''.join(s)
'OH, my paws and whiskers!'
>>> ' '.join(s)
'O H , m y p a w s a n d w h i s k e r s !'
>>> ' '.join((s, t))
"OH, my paws and whiskers! I'm late!"
>>> s.lstrip('HO')
', my paws and whiskers!'
>>> s.replace('H', 'MG')
'OMG, my paws and whiskers!'
>>> s.rsplit()
['OH,', 'my', 'paws', 'and', 'whiskers!']
>>> s.rsplit(' ', 1)
['OH, my paws and', 'whiskers!']
>>> s.split()
['OH,', 'my', 'paws', 'and', 'whiskers!']
>>> s.split(' ')
['OH,', 'my', 'paws', 'and', 'whiskers!']
>>> s.splitlines()
['OH, my paws and whiskers!']
>>> s.strip()
'OH, my paws and whiskers!'
>>> s.strip('s!')
'OH, my paws and whisker'
F.2.4 格式化
>>> s.center(30)
' OH, my paws and whiskers! '
>>> s.expandtabs()
'OH, my paws and whiskers!'
>>> s.ljust(30)
'OH, my paws and whiskers! '
>>> s.rjust(30)
' OH, my paws and whiskers!'
F.2.5 字符串类型
>>> s.isalnum()
False
>>> s.isalpha()
False
>>> s.isprintable()
True
>>> s.istitle()
False
>>> s.isupper()
False
>>> s.isdecimal()
False
>>> s.isnumeric()
False
F.3 字符串模块属性
这些是用于常量定义的类属性:
属性 | 示例 |
---|---|
ascii_letters
|
'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
|
ascii_lowercase
|
'abcdefghijklmnopqrstuvwxyz'
|
ascii_uppercase
|
'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
|
digits
|
'0123456789'
|
hexdigits
|
'0123456789abcdefABCDEF'
|
octdigits
|
'01234567'
|
punctuation
|
"!"#$%&\'()*+,-./:;<=>?@[]^_{|}~'
|
printable
|
"0123456789abcdefghijklmnopqrstuvwxyz' + 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' + '!"#$%&\'()*+,-./:;<=>?@[]^_`{|}~' + ' \t\n\r\x0b\x0c'
|
whitespace
|
' \t\n\r\x0b\x0c'
|