2022.07.07 DAY7
1. 字符串的格式化
1. format()基本用法
-
格式化字符串函数str.format()
-
可以通过{索引}/{参数名},直接映射参数值,实现对字符串的格式化。
# format()基本用法 def test(): info1 = "名字:{0},年龄:{1}。" print(info1.format("YJP", 20)) info2 = "名字:{0},年龄:{1}。{0}学习Python。" print(info2.format("YJP", 20)) info3 = "名字:{name},年龄:{age}。" print(info3.format(name='YJP', age=20)) # Main if __name__ == '__main__': test()
2. 填充和对齐
-
填充和对齐一起使用
-
^、<、>分别是居中、左对齐、右对齐,后面带宽度。
-
:号后面带填充的字符,只能是一个字符,默认用空格填充。
# 填充和对齐 def test2(): print("{:*>8}".format("520")) print("我是{0},我喜欢数字{1:*<8}".format("YJP", "520")) # Main if __name__ == '__main__': test2()
3. 数字的格式化
-
浮点数通用f,整数通过d进行需要的格式化。
# 数字格式化 def test3(): str1 = "3.1415926格式化为{0:.2f}" print(str1.format(3.1415926)) # Main if __name__ == '__main__': test3()
-
3.1415926 {:.2f} 3.14 保留小数点后两位
-
3.1415926 {:+.2f} 3.14 带符号保留小数点后两位
-
2.7114525 {:.0f} 3 不带小数,四舍五入
-
5 {:0>2d} 05 数字补0(填充左边,宽度为2)
-
5 {:x<4d} 5xxx 数字补x(填充右边,宽度为4)
-
10 {:x<4d} 10xx 数字补x(填充右边,宽度为4)
-
1000000 {:,} 1,000,000 以逗号分隔的数字格式
-
0.25 {:.2%} 25.00% 百分比格式
-
1000000000 {:.2e} 1.00E+09 指数记法
-
13 {:10d} --------13 右对齐(默认,宽度为10)
-
13 {:<10d} 13-------- 左对齐(宽度为10)
-
13 {:^10d} ----13---- 中间对齐(宽度为10)
4. 可变字符串
-
在Python中,字符串属于不可变对象,不支持原地修改。如果需要修改其中的值,只能创建新的字符串对象。
-
但是,通常情况我们需要原地修改字符串,可以使用io.StingIO对象或array模块。
# 可变字符串 import io def test4(): myWords = "520,**" myWordsIo = io.StringIO(myWords) print(myWordsIo) print(myWordsIo.getvalue()) print(myWordsIo.seek(4)) print(myWordsIo.write("XX")) print(myWordsIo.getvalue()) # Main if __name__ == '__main__': test4()