format() 方法基本使用
使用方法:<模板字符串>.format(<逗号分隔的参数>)
# 普通使用
print("我是一名程序员,我很{}。".format("骄傲"))
# 输出结果:
# 我是一名程序员,我很骄傲。
# 增加参数序号
print("{0}是一名程序员,他很{1},因为找不到女朋友。".format("阿炮", "自备"))
# 输出结果:
# 阿炮是一名程序员,他很自备,因为找不到女朋友。
# 如果需要添加"{", "}", 并且 交换序号位置
print("{1}曰:{{学而时习之,不亦{0}}}".format("说乎", "孔子"))
# 输出结果:
#孔子曰:{学而时习之,不亦说乎}
format() 方法的格式控制
语法:{<参数序号>:<格式控制标记>}
第一组顺序是<填充>、<对齐>和<宽度>
- <填充>
填充字符: 如 "*", "!", "@", "$" - <对齐>
默认:左对齐(<)
右对齐: (>)
居中对齐: (^) - <宽度>
设置宽度 如小于字符宽度, 则默认字符宽度
# 宽度为25, 对齐方式默认: 左对齐, 填充默认:空格
s = "我是一个实例"
"{:25}".format(s)
# 输出结果:
# '我是一个实例 '
# 宽度为25, 对齐方式(^): 居中对齐, 填充默认:空格
s = "我是一个实例"
"{:^25}".format(s)
# 输出结果:
# ' 我是一个实例 '
# 宽度为25, 对齐方式(>): 右对齐, 填充默认:空格
s = "我是一个实例"
"{:>25}".format(s)
# 输出结果:
# ' 我是一个实例'
# 宽度为25, 对齐方式(>): 右对齐, 填充:!
s = "我是一个实例"
"{:!>25}".format(s)
# 输出结果:
# '!!!!!!!!!!!!!!!!!!!我是一个实例'
# 宽度为25, 对齐方式(<): 左对齐, 填充:@
s = "我是一个实例"
"{:@<25}".format(s)
# 输出结果:
# '我是一个实例@@@@@@@@@@@@@@@@@@@'
第二组顺序是<,>、<.精度>和<类型>
- <,>
表示显示数字类型的千位分隔符 - <.精度>
对于浮点数, 精度表示小数部分输出的有效位数.
对于字符串, 精度表述输出长度,一应输出长度为准(不能大于原字符长度) - <类型>
表示输出整数和浮点数类型的格式规则
对于整数类型, 输出格式包括6种:- b: 输出整数的二进制方式
- c: 输出整数对应的Unicode字符
- d: 输出整数的十进制方式
- o: 输出整数的八进制方式
- x: 输出整数的小写十六进制方式
- X: 输出整数的大写十六进制方式
对于浮点数类型, 输出格式包括4种: - e: 输出浮点数对应的小写字母 e 的指数形式
- E: 输出浮点数对应的大写字母 E 的指数形式
- f: 输出浮点数的标准浮点形式
- %: 输出浮点数的百分比形式
# <,>使用
"{:-^25,}".format(1234567890)
# 输出结果:
# '------1,234,567,890------'
#<.精度>使用
"{:.2f}".format(123.4567890)
# 输出结果:
# '123.46'
"{:$>25.4f}".format(123.4567890)
# 输出结果:
# '$$$$$$$$$$$$$$$$$123.4568'
"{:.5}".format("我是一名程序员,我的思维逻辑很强。")
# 输出结果:
# '我是一名程'
"{:.15}".format("我是一名程序员,我的思维逻辑很强。")
# 输出结果:
# '我是一名程序员,我的思维逻辑很'
# <类型>使用
"{0:e}, {0:E}, {0:f}, {0:%}".format(3.1415926)
# 输出结果:
# '3.141593e+00, 3.141593E+00, 3.141593, 314.159260%'
"{0:b}, {0:c}, {0:d}, {0:o}, {0:x}, {0:X}".format(425)
# 输出结果:
# '110101001, Ʃ, 425, 651, 1a9, 1A9'
字符串处理方法
str.lower() 返回str复本, 全部字符小写
str.upper() 返回str复本, 全部字符大写
# 全部字符小写
>>>"Python".lower()
'python'
# 全部字符大写
>>>"Python".upper()
'PYTHON'
str.split(sep=None) 返回一个列表,由str根据sep被分割的部分构成, 省略sep默认以空格分隔
>>>"Python is an excellent language.".split()
['Python', 'is', 'an', 'excellent', 'language.']
>>>"Python is an excellent language.".split("a")
['Python is ', 'n excellent l', 'ngu', 'ge.']
>>>"Python is an excellent language.".split("an")
['Python is ', ' excellent l', 'guage.']
str.count(sub) 返回sub子串出现的次数
# 出现字符串次数
>>>"Python is an excellent language.".count("a")
3
>>>"Python is an excellent language.".count("an")
2
>>>"Python is an excellent language.".count(" ")
4
str.replace(old, new) 返回字符串str复本, 所有old子串被替换为new
>>>"Python is an excellent language.".replace("a", "#")
'Python is #n excellent l#ngu#ge.'
>>>"Python is an excellent language.".replace("Python", "C++")
'C++ is an excellent language.'
# 可以使用replace()删除字符串特定字符
"Python is an excellent language.".replace(" excellent", "")
'Python is an language.'
str.center(width, fillchar) 字符串居中函数, fillchar参数可选
>>>"Python".center(20, "=")
'=======Python======='
str.strip(chars) 从字符串str中去掉在其左侧和右侧chars中列出的字符
>>>" ===Python=== ".strip(" ")
'===Python==='
>>>" ===Python=== ".strip(" =")
'Python'
>>>" ===Python=== ".strip(" =n")
'Pytho'
str.join(iter) 将iter变量的每一个元素后增加一个str字符
>>>",".join("12345")
'1,2,3,4,5'
>>>",".join("python")
'p,y,t,h,o,n'
网友评论