1 内置string长量
所有的ASCII字母
string.ascii_letters
所有的ASCII小写字母
string.ascii_lowercase
所有的ASCII大写字母
string.ascii_uppercase
数字0-9
string.digits
上面的常量输出都是str类型
2 str.maketrans(x[, y[, z]]) 和str.translate()
maketrans()和translate()原来是属于内置的string模块,后来maketrans变为字符串的静态方法,translate为字符串方法
maketrans返回一个可供 str.translate() 使用的转换对照表
如上,maketrans中的两个参数都是字符串且长度相等,前字符串的每个字符对应到后字符串对应位置上的字符
也就是说该方法返回一个密码本,'1'对应'a','2'对应'b',以此类推。 这时如果截获了敌人的一段电报,内容是"345678",如果我们知道该电报采用的加密方法即密码本table,就可以用translate来解密成原文
如上没有在转换对照表的字符不会被转换
maketrans,如果有两个参数,则它们必须是两个长度相等的字符串,前面参数是待转换字符串,后面参数是目标字符串
如果只有一个参数,则它必须是一个将 Unicode 码位序号(整数)或字符(长度为 1 的字符串)映射到 Unicode 码位序号、(任意长度的)字符串或 None 的字典。 字符键将会被转换为码位序号
如果有第三个参数,它必须是一个字符串,其中的字符将在结果中被映射到 None
如上,maketrans第三个参数的字符在translate时被转换成None,前面两个参数和传递2个参数的情况是相同的
3 string.punctuation
ASCII 字符中一些常见的标点符号
结合translate()可以从字符串中删除标点符号
4 Formatter类的format方法
这和直接在字符串采用format方法或者采用f开头的字符串是一样的,
5 其他常量等