Python3.8常用内置库总结
String模块总结与举例
总结的时候没发现,String模块已经是python2.x之后的过时模块了,很多关于str的方法都已经直接移植到str类里了,所以不推荐使用。。。现在有的几个方法也只是起到对自定义格式化方法的封存作用,用起来没有str类方法简单迅速。
另外,python中import的和标准库里的一般叫做模块,库是参考其他编程语言的说法。
字符串常量
序号 | 定义 | 常量 |
---|---|---|
1 | string.ascii_lowercase | ‘abcdefghijklmnopqrstuvwxyz’ |
2 | string.ascii_uppercase | ‘ABCDEFGHIJKLMNOPQRSTUVWXYZ’ |
3 | string.ascii_letters | 小写所有字母+大写所有字母(序号1常量+序号2常量) |
4 | string.digits | ‘0123456789’ |
5 | string.hexdigits | ‘0123456789abcdefABCDEF’ |
6 | string.octdigits | ‘01234567’ |
7 | string.punctuation | C中的标点:’!"#$%&’()*+,-./:;<=>?@[]^_`{ |
8 | string.whitespace | 由被视为空白符号的 ASCII 字符组成的字符串 |
9 | string.printable | 由被视为可打印符号的 ASCII 字符组成的字符串(数字+小写所有字母+大写所有字母+punctuation+whitespace) |
自定义字符串格式化
方法一:formatter
Formatter是String库下的类,它包含有一系列公用方法。要使用这些方法首先先定义一个formatter:
- formatter = string.Formatter()
下面就是可以在formatter上运用的方法:(i.e.
formatter.method())
1. 运用vformat或format来执行格式化:
-
vformat(format_string, args, kwargs) 或
-
format(format_string,*args,**kwargs)
参数分别意思为:
format_string:需要去格式化的目标字符串(仅限位置参数);
args:位置参数序列;*args表示任意位置参数;
kwargs:关键字参数,字典。**kwargs表示任意关键字参数;
return:字符串
来看如下例子:
format 其实就是一个调用vformat的包装器,例子如下:
vformat:
format:
参考:https://www.jianshu.com/p/faaa48f4c511
2. 用parse来将字符串分解为文本字面值或替换字段
- parse(format_string)
循环遍历 format_string 并返回一个由可迭代对象组成的元组 (literal_text, field_name, format_spec, conversion)。如果没有替换字段则后三位为None。
元组元素解释:
literal_text:文本;如果没有就是长度为0的字符串’’;
field_name:替换字段的命名;我理解的是位置参数无命名,所以都是’’;
format_spec: 替换字段格式
conversion:转换类型
例子:
data = ("Pi = ",123.1415926, " is true.")
strtmp = "This
is a test: {
}{
:.2f}{
}"
formatter = string.Formatter()
strtuple = formatter.parse(strtmp)
for i,