python学习日记4

今天肝完字符串。

 
print("{pi!s} {pi!r} {pi!a}".format(pi="π"))
 

以上代码输出π ‘π’ ‘\u03c0’,其中!后分别表示用str,repr,ascii进行转换。也可以:后设置数据类型。

 
from math import pi
print(" {a:f} ".format(a=pi))
 
b 将整数表示为二进制数
c 将整数表示为Unicode
d 十进制整数(默认)
e 科学计数法表示小数
E 与e相同,但用E表示整数
f 浮点数
F 与f相同,但用于表示特殊类型(inf,nan)
g 自动在科学计数法和浮点数做出选择,默认用于小数
G 与g相同,但使用大写来表示指数和特殊值
n 与g相同,但插入数字分隔符
o 八进制整数
s 字符串
o 八进制整数
x 十六进制整数(小写)
X 十六进制整数(大写)
% 百分比值

还可以设置宽度,精度和分隔符:

 
from math import pi
print(" {a:20,.10f} ".format(a=pi*10000))
print(" {a:20s} ".format(a="Hello world")," {a:s} ".format(a="Hello world"))
 

有时为了整齐,需要设置符号,对齐和填充0。

 
from math import pi
print(" {a:010.2f} ".format(a=pi))  #填充0
print(" {a:<20s}\n{a:^20s}\n{a:>20s} ".format(a="Hello world")) # 居左,中,右
print(" {a:<span class="katex math inline">^20s} ".format(a="Hello world")) #用</span>填充
print(" {a:10.2f}\n{b:=10.2f}".format(a=pi,b=-pi))  #=表示指定位置填充字符
print(" {a:10.2f}\n{b:=+10.2f}".format(a=pi,b=pi))  #整数加符号
 

最后还有井号选项:

 
print(" {:#b} ".format(42))  #二进制前填充0b
print(" {:#g} ".format(42))  #强制添加小数点
 

下面介绍字符串的常用高级操作,使用方法为字符串后加点,例如a.center().:

center:两个参数(长度,填充字符),例如a.center(19,*)。使字符串居中,填充字符不填默认为空格。

find:两个参数(字符串,初始索引,结束索引),用于查找子串。例如:a.find(“Hello”),找到返回子串第一个字符的索引,未找到返回-1。初始索引不填默认为0,结束索引默认为字符串尾。

join:一个参数(字符串),用于合并一个序列的元素(序列中的所有元素必须是字符串)。示例:

 
a=["C:/","Windows","User"]
print("/".join(a))
 

lower:一个参数(字符串),返回小写字母版本。

replace:两个参数(子串,字符串),将子串替换为另一个字符串,返回替换后的结果。

split:与join相反,拆分字符串。

strip:默认删除开头和结尾空白字符,可以指定删除何种字符,例如a.strip(‘ *!’)(删除*、!和空格)。

translate:替换字符串中的特定部分,但能同时替换多个字符,效率比replace高。使用前需要创建转换表(两个长度相同的字符串,将第一个字符串每个字符都替换为第二个字符串中对应的字符),个人认为转换表不实用,不过也可以传入字典(后续学习)。示例:

 
a=str.maketrans("hello","aaaaa"," c") #第三个参数可有可无,为删除指定字符
b="hello world ccc"
print(b.translate(a))
 
知识共享许可协议
Text is available under CC BY-NC-SA 4.0 unless otherwise stated.

除非特殊声明,本站所有内容均以 CC BY-NC-SA 4.0协议授权。
上一篇
下一篇