python内置string模块

1 内置string长量

所有的ASCII字母
string.ascii_letters
所有的ASCII小写字母
string.ascii_lowercase
所有的ASCII大写字母
string.ascii_uppercase
数字0-9
string.digits

上面的常量输出都是str类型
image

image

2 str.maketrans(x[, y[, z]]) 和str.translate()

maketrans()和translate()原来是属于内置的string模块,后来maketrans变为字符串的静态方法,translate为字符串方法
maketrans返回一个可供 str.translate() 使用的转换对照表
image

如上,maketrans中的两个参数都是字符串且长度相等,前字符串的每个字符对应到后字符串对应位置上的字符
也就是说该方法返回一个密码本,'1'对应'a','2'对应'b',以此类推。 这时如果截获了敌人的一段电报,内容是"345678",如果我们知道该电报采用的加密方法即密码本table,就可以用translate来解密成原文
image
如上没有在转换对照表的字符不会被转换
maketrans,如果有两个参数,则它们必须是两个长度相等的字符串,前面参数是待转换字符串,后面参数是目标字符串

如果只有一个参数,则它必须是一个将 Unicode 码位序号(整数)或字符(长度为 1 的字符串)映射到 Unicode 码位序号、(任意长度的)字符串或 None 的字典。 字符键将会被转换为码位序号
image

如果有第三个参数,它必须是一个字符串,其中的字符将在结果中被映射到 None
image
如上,maketrans第三个参数的字符在translate时被转换成None,前面两个参数和传递2个参数的情况是相同的

3 string.punctuation

ASCII 字符中一些常见的标点符号
结合translate()可以从字符串中删除标点符号
image

4 Formatter类的format方法

image
这和直接在字符串采用format方法或者采用f开头的字符串是一样的,
image

5 其他常量等
image
image

posted @ 2023-05-13 20:49  工作手记  阅读(42)  评论(0编辑  收藏  举报