python之字符串格式化的3种方式
发布时间:2022-08-25 10:38:24 所属栏目:交互 来源:互联网
导读:字符串格式化的3种方式 def test_1(): 1.格式化的方式 dog = dog str1 = This is a %s % dog str2 = This is {} {}.format(a, dog) str3 = fThis is a {dog} assert This is a dog == str1, r% format error assert This is a dog == str2, {} format error
字符串格式化的3种方式 def test_1(): 1.格式化的方式 dog = 'dog' str1 = 'This is a %s' % dog str2 = 'This is {} {}'.format('a', dog) str3 = f'This is a {dog}' assert 'This is a dog' == str1, r'% format error' assert 'This is a dog' == str2, '{} format error' assert 'This is a dog' == str3, 'f-string format errorr' 填充零的方式 def test_2(): 2.填充零的方式 price = 123 # 其实我就用这一种, 后面的仅供参考 assert '0123' == f'{price:0>4}', 'format 3 error' assert '0123' == '%04d' % price, ' format 1 error' assert '0123' == str(price).rjust(4, '0'), 'rjust error' assert '0123' == str(price).zfill(4), 'zfill error' assert '0123' == '{:0>4}'.format(str(price)), 'format 2 error' find和rfind获取字符串索引 def test_4(): # 4 startswith,find raw = 'hello world $1 $2' b1 = raw.startswith('hello') assert b1, 'startswith error' i1 = raw.find('$') i2 = raw.rfind('$') assert 12 == i1, 'find error' assert 15 == i2, 'rfind error' replace和正则替换 def test_5(): # 查找并替换 raw = 'hello world hello 1' str1 = raw.replace('hello', 'good', 1) assert 'good world hello 1' == str1, 'replace error' reg = re.compile(r'^hello') str2 = reg.sub('good', raw) assert 'good world hello 1' == str2, 'replace error' reg = re.compile(r'hello') str3 = reg.sub('good', raw, 1) assert 'good world hello 1' == str3, 'replace error' split和rsplit def test_7(): # split raw = 'I am from jingzhou' a1 = raw.split(' ') assert {'I', 'am', 'from', '', 'jingzhou'} == set(a1), 'split error' # s+ 正则表示用1个或者多个空格分割,所以am from之间的两个空格会当做1个分割符去分割 a2 = re.split(r's+', raw) assert {'I', 'am', 'from', 'jingzhou'} == set(a2), 'split re error' # 取最后一个值 a3 = raw.rsplit(' ', 1)[1] assert 'jingzhou' == a3, 'rsplit error' 字符串转数字 def test_8(): # 数字 isdecimal 不可以汉字,isdigit 不可以汉字, isnumeric可以汉字 # 我会优先用isdecimal,因为比较干净 raw1 = '123' raw2 = '五' assert raw1.isdecimal() == raw1.isdigit( ) == raw1.isnumeric() == True, 'isdecimal error' assert not raw2.isdecimal(), 'isdecimal error' assert not raw2.isdigit(), 'isdigit error' assert raw2.isnumeric(), 'isnumeric error' isspace和join def test_9(): # isspace raw = ' ' assert raw.isspace(), 'isspace error' def test_10(): # join raw1 = ['a', 'b', 'c'] assert 'a:b:c' == ':'.join(raw1) (编辑:咸宁站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |