python数字字符串乘以2_python3基础02数值和字符串(⼆)上接“python3基础01数值和字符串(⼀)”;
本篇详细梳理字符串⽅法,字符串格式化输出。
本⽂将了解什么?
2、字符串字符串⽅法find⽅法
join⽅法
split⽅法
lower⽅法
upper⽅法
replace⽅法
strip,lstrip和rstrip⽅法
translate⽅法
startswith⽅法
endswith⽅法
is开头的诸多⽅法字符串格式化输出:format⽅法调⽤参数
参数格式转换
python指定字符宽度,精度
指定字符千分位分隔符
对齐
指定填充字符
等号(=),指定将填充字符放在符号和数字之间
字符串⽅法
In [23]: print(dir(str))#dir列出字符串所⽤⽅法['__add__', '__class__', '__contains__', '__delattr__', '__dir__', '__doc__', '__eq__',
'__format__', '__ge__', '__getattribute__', '__getitem__', '__getnewargs__', '__gt__', '__hash__', '__init__', '__init_subclass__',
'__iter__', '__le__', '__len__', '__lt__', '__mod__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__rmod__',
'__rmul__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', 'capitalize', 'casefold', 'center', 'count', 'encode', 'endswith',
'expandtabs', 'find', 'format', 'format_map', 'index', 'isalnum', 'isalpha', 'isascii', 'isdecimal', 'isdigit', 'isidentifier', 'islower',
'isnumeric', 'isprintable', 'isspace', 'istitle', 'isupper', 'join', 'ljust', 'lower', 'lstrip', 'maketrans', 'partition', 'replace', 'rfind', 'rindex', 'rjust', 'rpartition', 'rsplit', 'rstrip', 'split', 'splitlines', 'startswith', 'strip', 'swapcase', 'title', 'translate', 'upper', 'zfill']
find⽅法
语法,str.find(sub_str,a,b)
字符串str中查⼦字符串sub_str所在位置时使⽤,a,b分别制定从str中开始搜索的位置,默认从第⼀个字符开始,a,b均可忽略;如果到sub_str,就返回sub_str的第⼀个字符的索引,没到返回-1。可⽤来判断str中是否包sub_str以及位置。
In [32]: print("xiyangyang lanyangyang".find("huitanglang"))
-1
In [33]: print("xiyangyang lanyangyang".find("yang"))
2join⽅法
语法:sep.join(str),以sep为分隔符拼接字符串str。
In [36]: print("+".join("xiyangyang"))
x+i+y+a+n+g+y+a+n+gsplit⽅法
语法:str.split(sep),以sep为分隔符,拆分字符串str为⼀个list。
In [37]: print("x+i+y+a+n+g+y+a+n+g".split("+"))
['x', 'i', 'y', 'a', 'n', 'g', 'y', 'a', 'n', 'g']lower⽅法
语法:str.lower(),将字符串str转化为⼩写版本。
In [39]: print("Hello! Hi!".lower())
hello! hi!upper⽅法
语法:str.upper(),将字符串str转化为⼤写版本。
In [41]: print("Hello! Hi!".upper())
HELLO! HI!replace⽅法
语法:place("sub_str1", "sub_str2", max)。将字符串str中的⼦字符串sub_str1替换为sub_str2,max为允许替换的最⼤次数,可忽略,默认替换所有。
In [48]: print("xiyangyang lanyangyang".replace("an","XX",2))
xiyXXgyXXg lanyangyangstrip,lstrip和rstrip⽅法
语法:三个⽅法类似,str.strip(sub_str)。strip⽅法去掉str开头和结尾的⼦字符串sub_str,sub_str可忽略,默认为空格。
In [49]: print(" Hello ".strip())
Hello
In [50]: print(" Hello ".lstrip())
Hello
In [51]: print(" Hello ".rstrip())
Hello
In [52: print(" Hello ".rstrip("o "))
Helltranslate⽅法
语法:anslate(table),该⽅法同时替换str中多个字符,replace⼀次只能替换⼀个。
In [56]: old = "axy"
...: new = "123"
...: #调⽤字符串str的maketrans⽅法制作转换表
...: table = str.maketrans(old, new)
...:
...: str1 = "xiyangyang lanyangyang"
...: print (anslate(table))
2i31ng31ng l1n31ng31ngstartswith⽅法
语法:str.startswith(sub_str, a, b)。判断str是否以sub_str开头,是则返回True,否则返回False,a,b指定检索开始和结束( 默认是字符串的长度,表⽰结束搜索的位置)为⽌,默认从第⼀个字符开始。
In [64]: print("Hello".startswith("H"))
Trueendswith⽅法
使⽤类似startswith,判断str是否以sub_str结尾。is开头的诸多⽅法
'isalnum', 'isalpha', 'isascii', 'isdecimal',
'isdigit', 'isidentifier', 'islower', 'isnumeric',
'isprintable', 'isspace', 'istitle', 'isupper'
字符串格式化输出:format⽅法调⽤参数
按顺序将字段和参数配对输出
#按顺序将字段和参数配对输出
In [79]: "{} {} {} {}".format(1, 2, 4, 3)
Out[79]: '1 2 4 3'
#给参数指定名称,通过参数名称调⽤输出
In [80]: "{a} {a} {b} {b}".format(a=1, b=2)
Out[80]: '1 1 2 2'
#以上两种⽅法混⽤
In [81]: "{} {a} {} {b}".format(0, 3, a=1, b=2)
Out[81]: '0 1 3 2'
#未命名参数通过索引调⽤输出
In [82]: "{1} {a} {0} {b}".format(0, 3, a=1, b=2)
Out[82]: '3 1 0 2'参数格式转换
指定要转换的值是哪种类型,如下例中的f b。
In [85]: "The number is {:f}".format(42)#f将⼩数表⽰为定点数
Out[85]: 'The number is 42.000000'
In [86]: "The number is {:b}".format(42)#b将整数表⽰为⼆进制数
Out[86]: 'The number is 101010'常⽤转化类型
b 将整数表⽰为⼆进制数
python格式化输出formatc 将整数解读为Unicode码点
d 将整数视为⼗进制数进⾏处理,这是整数默认使⽤的说明符
e 使⽤科学表⽰法来表⽰⼩数(⽤e来表⽰指数)
E 与e相同,但使⽤E来表⽰指数
f 将⼩数表⽰为定点数
F 与f相同,但对于特殊值(nan和inf),使⽤⼤写表⽰
g ⾃动在定点表⽰法和科学表⽰法之间做出选择。这是默认⽤于⼩数的说明符,但在默认情况下⾄少有1位⼩数
G 与g相同,但使⽤⼤写来表⽰指数和特殊值
n 与g相同,但插⼊随区域⽽异的数字分隔符
o 将整数表⽰为⼋进制数
s 保持字符串的格式不变,这是默认⽤于字符串的说明符
x 将整数表⽰为⼗六进制数并使⽤⼩写字母
X 与x相同,但使⽤⼤写字母
% 将数表⽰为百分⽐值(乘以100,按说明符f设置格式,再在后⾯加上%)python指定字符宽度,精度
In [96]: "Pi is {pi:10.2f}".format(pi=math.pi)#指定字符快读为10,精度为2个⼩数位
Out[96]: 'Pi is 3.14'指定字符千分位分隔符
In [101]: 'Oh gold banknote is {:,} yuan'.format(100000000000)
Out[101]: 'Oh gold banknote is 100,000,000,000 yuan'对齐
分别使⽤和^指定左对齐,右对齐和居中。
In [107]: print('{0:<10.2f}\n{0:^10.2f}\n{0:>10.2f}'.format(math.pi))指定填充字符默认为空格
In [113]: print('{0:$<10.2f}\n{0:@^10.2f}\n{0:&>10.2f}'.format(math.pi))
3.14$$$$$$
@@@3.14@@@
&&&&&&3.14等号(=),指定将填充字符放在符号和数字之间
此处=类似于和^
In [127]: print('{0:$>10.2f}\n{1:$=10.2f}'.format(math.pi, -math.pi))
$$$$$$3.14
-$$$$$3.14
3、参考资料

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。