Python随记(二)字符串
Python随记(二)字符串
1、 字符串的基本操作
字符串string,也是序列(sequence)的一种,所以所有标准的序列操作:索引、分片、乘法、判断成员资格、求长度、取最小值和最大值等,对字符串来说同样适用。
但是请记住,字符串是不可变的!
2、 字符串格式化的模型
字符串格式化使用格式化操作符% 来实现。
格式化字符串时,我们可以将整个语句看成三部分:
字符串模板 % 被格式化的内容
① ② ③
①字符串模版:
Python使用一个字符串作为模板。模板中有格式符%,这些格式符为真实值预留位置,并说明真实数值应该呈现的格式。
比如A = “I like to eat %s and hotdog.’”
②然后就放置一个格式符%
③被格式化内容
可以是单个的值,如一字符串或者数字,也可以是多个值,比如元组或者 字典。
例子 B = “ Humburg”.
所以当输入指令:
print A % B
得到结果
I like to eat Humburg and hotdog.
可见,原来被%s占据的位置,被B的内容填充了,这就是一个最简单的例子。
%s被成为转换说明符,它标记了需要插入转换值的位置,字母s表示 B当中的值会先被转换成字符串,然后再插入,如果不是字符串,就先用str完成转换。
果其实回想一下C++中的 printf 也是这种类似的操作
3、 转换说明符详解
你可能已经发现主要对输出格式进行控制的似乎应该是转换说明符,事实上也如此。上面例子的%s 只是很简单的一个例子。
较为常用的基本格式应为:
% [name] [flags] [width] [.precision] [type]
[name] 用于选择指定的key(是字典类型中键的意思,看完字典就懂)
[flags] 转换标志,可选。
● – 表示左对齐(默认设置似乎是右对齐);
● + 表示在转换值之前要加上正负号;
● “ ”空格表示正数之前保留空格;
● 0 表示转换值若位数不够用0填充
[width] 最小字段宽度,可选。表示转换后的字符串至少需要具有该值指定的宽度。
如果是*,则宽度会从值元组中读取。
[.precision] 点(.)后跟精度值。
●如果是实数,精度值就表示出现在小数点后的位数
●如果是字符串,精度值就表示最大字段宽度。
●如果是*,那么精度会从元组中读出。
[type] 转换类型,必选。
● %c 格式化字符及其ASCII码
● %s 格式化字符串
● %d 格式化整数
● %u 格式化无符号整型
● %o 格式化无符号八进制数
● %x 格式化无符号十六进制数
● %X 格式化无符号十六进制数(大写)
● %f 格式化浮点数字,可指定小数点后的精度
● %e 用科学计数法格式化浮点数
● %E 作用同%e,用科学计数法格式化浮点数
● %g 根据值的大小决定使用%f活%e
● %G 作用同 %g,根据值的大小决定使用%f活%e
● %p 用十六进制数格式化变量的地址
4、 字符串方法
图源网络,侵删