本篇内容主要讲解“Python3字符串的格式化方法怎么用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python3字符串的格式化方法怎么用”吧!
一 介绍
Tips:
1、尽量少使用 + 号进行字符串并接,大量使用会耗费系统资源(大量申请及清理内存)
2、使用%并接时,尽量使用对应的数据类型,以提高代码可读性。
name = ''
age = 22
def __init__(self, n):
self.name = n
el = Person('elsa')
ka = Person('kate')
print("I am {0.name}, my friend is {1.name}".format(el, ka)) # I am elsa, my friend is kate
print("I am {friend[0]}, my friend is {friend[1]}".format(friend=['elsa', 'kate']))
# I am elsa, my friend is kate
s = '{name!r}'.format(name='elsa')
print(s) # 'elsa'
a = eval(a) # elsa
s = '{name!s}'.format(name=1234)
print(s, type(s)) # 1234 <class 'str'>
<:内容向左对齐
>:内容向右对齐
=:对数字右对齐(符号+填充字符+数字)
^:内容居中
print("{:,}".format(123456.78))
# 123,456.78
print("{:_}".format(123456.78))
# 123_456.78
precision:小数点保留位数
type:格式化类型(与传入参数的数据类型匹配)
s:字符串
无:默认字符串
d:整数
f:浮点
%:自动计算,并输出百分号
等等
二 %百分号 常用方式
name = 'elsa li'
age = 18
money = 98765.987654
meg = 'I am %s ' % name
print(meg)
# I am elsa li
meg = 'I am %.4s , age is %d ,money is %015.2f' % (name, age, money)
print(meg)
# I am elsa , age is 18 ,money is 000000098765.99

person = {'name': 'elsa li', 'age': 18, 'money': 98765.987654}
meg = 'I am %(name)s ' % person
print(meg)
# I am elsa li
meg = 'I am %(name).4s , age is %(age)d ,money is %(money) 15.2f' % person
print(meg)
# I am elsa , age is 18 ,money is 98765.9877
name = 'elsa'
percent = 80.8867
meg = 'I am \033[45;3m%s\033[0m ,%.2f%% of work complated' %(name,percent)
# \033[45;3m 定义背景颜色的开始位置,45为颜标,3为字体的粗细度。
# \033[0m 定义颜色的结束位置
# 颜色详细的使用,可以参考 linux ps1(命令行提示符)的颜色内容
print(meg)
print('root','x','0','0',sep=':')
meg = ['root', 'x', 0, 0]
print(*meg, sep=':')
输出:
I am elsa ,80.89% of work complated
root:x:0:0
三 format 常用方式

name='elsa'
age=18
money=12345.678
meg='I am {},age is {!s}, money is {:0>-10,.2f}'.format(name,age,money)
print(meg) # I am elsa,age is 18, money is 012,345.68
name = 'elsa'
age = 18
money = 12345.678
meg = 'I am {0},age is {2}, money is {1}'.format(name, age, money)
print(meg) # I am elsa,age is 12345.678, money is 18
meg = 'I am {0[1]},age is {1}, money is {2}'.format(*[['elsa', 'li'], 18, 12345.678])
print(meg) # I am li,age is 18, money is 12345.678
meg = "numbers: {:b},{:o},{:d},{:x},{:X}, {:%}".format(15, 15, 15, 15, 15, 15.87623, 1, 2, 3)
print(meg) # numbers: 1111,17,15,f,F, 1587.623000%
meg = 'I am {name},age is {age}, money is {money}'.format(name = 'elsa', age = 18, money=12345.678)
print(meg) # I am elsa,age is 18, money is 12345.678
me = {'name': ['elsa','li'] ,
'age': 18,
'money': '12345.678'}
meg = 'I am {name[1]},age is {age}, money is {money}'.format(**me)
print(meg) # I am li,age is 18, money is 12345.678
四 format 与 % 的参数格式汇总
| % | format | % | format |
普通格式定义 | % | {} |
| 无下标则按顺序,有下标则按索引 |
字典格式定义 | %(字段) | {字段} |
|
|
普通方式 | √ | √ | '%s %d' %( 'elsa',20 ) | '{1} {0}'.format( 'elsa',20 ) |
赋值方式 | × | √ |
| '{name} {age}'.format( name='elsa',age=20 ) |
列表方式 | × | √ |
| ‘{} {}'.format( *['elsa',20] ) '{1} {0}'.format( *['elsa',20] ) |
字典方法 | √ | √ | '%(name)s %(age)d' %{'name':'elsa','age':18} | '{name} {age}'.format( **{'name':'elsa','age':20} ) |
下标方式 | × | √ |
| '{0[0]} {1[1]}'.format( ['elsa','tony'],[20,25] ) |
到此,相信大家对“Python3字符串的格式化方法怎么用”有了更深的了解,不妨来实际操作一番吧!这里是天达云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!