附录 F 速查表

我发现我会频繁地查找某些东西。下面列出的表格希望对你有所帮助。

F.1 操作符优先级

下面这张表是官方文档中关于优先级的混合,高优先级的运算符在上面。

操作符 描述和示例
[v1, …]{v1, …}{k1: v1, …}(…) 列表 集合 字典 / 生成器的创建和推导,括号内表达式
seq[n]seq[n:m]func(args…)obj .attr 索引、切片、函数调用和属性引用
** 幂运算
\+x\-x~x 正号、负号和位求反
*///% 乘法、浮点除法、整数除法和取余
+- 加法、减法
<<>> 按位左移、按位右移
& 按位与\
| 按位或
innot inisis not<<=>>=!=== 属于关系和相等性测试
not x 布尔取非
and 布尔取与
or 布尔取或
if…else 条件表达式
lambda lambda 表达式

F.2 字符串方法

Python 不仅提供了字符串方法(不借助 str 对象),而且包含了定义丰富的 string 模块。使用下面的测试变量:

  1. >>> s = "OH, my paws and whiskers!"
  2. >>> t = "I'm late!"

F.2.1 改变大小写

  1. >>> s.capitalize()
  2. 'Oh, my paws and whiskers!'
  3. >>> s.lower()
  4. 'oh, my paws and whiskers!'
  5. >>> s.swapcase()
  6. 'oh, MY PAWS AND WHISKERS!'
  7. >>> s.title()
  8. 'Oh, My Paws And Whiskers!'
  9. >>> s.upper()
  10. 'OH, MY PAWS AND WHISKERS!'

F.2.2 搜索

  1. >>> s.count('w')
  2. 2
  3. >>> s.find('w')
  4. 9
  5. >>> s.index('w')
  6. 9
  7. >>> s.rfind('w')
  8. 16
  9. >>> s.rindex('w')
  10. 16
  11. >>> s.startswith('OH')
  12. True

F.2.3 修改

  1. >>> ''.join(s)
  2. 'OH, my paws and whiskers!'
  3. >>> ' '.join(s)
  4. 'O H , m y p a w s a n d w h i s k e r s !'
  5. >>> ' '.join((s, t))
  6. "OH, my paws and whiskers! I'm late!"
  7. >>> s.lstrip('HO')
  8. ', my paws and whiskers!'
  9. >>> s.replace('H', 'MG')
  10. 'OMG, my paws and whiskers!'
  11. >>> s.rsplit()
  12. ['OH,', 'my', 'paws', 'and', 'whiskers!']
  13. >>> s.rsplit(' ', 1)
  14. ['OH, my paws and', 'whiskers!']
  15. >>> s.split()
  16. ['OH,', 'my', 'paws', 'and', 'whiskers!']
  17. >>> s.split(' ')
  18. ['OH,', 'my', 'paws', 'and', 'whiskers!']
  19. >>> s.splitlines()
  20. ['OH, my paws and whiskers!']
  21. >>> s.strip()
  22. 'OH, my paws and whiskers!'
  23. >>> s.strip('s!')
  24. 'OH, my paws and whisker'

F.2.4 格式化

  1. >>> s.center(30)
  2. ' OH, my paws and whiskers! '
  3. >>> s.expandtabs()
  4. 'OH, my paws and whiskers!'
  5. >>> s.ljust(30)
  6. 'OH, my paws and whiskers! '
  7. >>> s.rjust(30)
  8. ' OH, my paws and whiskers!'

F.2.5 字符串类型

  1. >>> s.isalnum()
  2. False
  3. >>> s.isalpha()
  4. False
  5. >>> s.isprintable()
  6. True
  7. >>> s.istitle()
  8. False
  9. >>> s.isupper()
  10. False
  11. >>> s.isdecimal()
  12. False
  13. >>> s.isnumeric()
  14. 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'