python问题,用format函数来格式化字符串,如何设置宽度为变量? Python里的字符串格式化%与format有区别吗,一般用...

python\u600e\u4e48\u7528\u683c\u5f0f\u5316\u5b57\u7b26\u4fee\u6539\u6240\u6709\u53d8\u91cf\u7684\u540d\u5b57

\u81eapython2.6\u5f00\u59cb\uff0c\u65b0\u589e\u4e86\u4e00\u79cd\u683c\u5f0f\u5316\u5b57\u7b26\u4e32\u7684\u51fd\u6570str.format()\uff0c\u53ef\u8c13\u5a01\u529b\u5341\u8db3\u3002\u90a3\u4e48\uff0c\u4ed6\u8ddf\u4e4b\u524d\u7684%\u578b\u683c\u5f0f\u5316\u5b57\u7b26\u4e32\u76f8\u6bd4\uff0c\u6709\u4ec0\u4e48\u4f18\u8d8a\u7684\u5b58\u5728\u5462\uff1f\u8ba9\u6211\u4eec\u6765\u63ed\u5f00\u5b83\u7f9e\u7b54\u7b54\u7684\u9762\u7eb1\u3002
\u8bed\u6cd5
\u5b83\u901a\u8fc7{}\u548c:\u6765\u4ee3\u66ff%\u3002
\u201c\u6620\u5c04\u201d\u793a\u4f8b
\u901a\u8fc7\u4f4d\u7f6e
In [1]: '{0},{1}'.format('kzc',18)
Out[1]: 'kzc,18'
In [2]: '{},{}'.format('kzc',18)
Out[2]: 'kzc,18'
In [3]: '{1},{0},{1}'.format('kzc',18)
Out[3]: '18,kzc,18'



\u5b57\u7b26\u4e32\u7684format\u51fd\u6570\u53ef\u4ee5\u63a5\u53d7\u4e0d\u9650\u4e2a\u53c2\u6570\uff0c\u4f4d\u7f6e\u53ef\u4ee5\u4e0d\u6309\u987a\u5e8f\uff0c\u53ef\u4ee5\u4e0d\u7528\u6216\u8005\u7528\u591a\u6b21\uff0c\u4e0d\u8fc72.6\u4e0d\u80fd\u4e3a\u7a7a{}\uff0c2.7\u624d\u53ef\u4ee5\u3002
\u901a\u8fc7\u5173\u952e\u5b57\u53c2\u6570
In [5]: '{name},{age}'.format(age=18,name='kzc')
Out[5]: 'kzc,18'



\u901a\u8fc7\u5bf9\u8c61\u5c5e\u6027
class Person:
def __init__(self,name,age):
self.name,self.age = name,age
def __str__(self):
return 'This guy is {self.name},is {self.age} old'.format(self=self)


In [2]: str(Person('kzc',18))
Out[2]: 'This guy is kzc,is 18 old'



\u901a\u8fc7\u4e0b\u6807
In [7]: p=['kzc',18]
In [8]: '{0[0]},{0[1]}'.format(p)
Out[8]: 'kzc,18'



\u6709\u4e86\u8fd9\u4e9b\u4fbf\u6377\u7684\u201c\u6620\u5c04\u201d\u65b9\u5f0f\uff0c\u6211\u4eec\u5c31\u6709\u4e86\u5077\u61d2\u5229\u5668\u3002\u57fa\u672c\u7684python\u77e5\u8bc6\u544a\u8bc9\u6211\u4eec\uff0clist\u548ctuple\u53ef\u4ee5\u901a\u8fc7\u201c\u6253\u6563\u201d\u6210\u666e\u901a\u53c2\u6570\u7ed9\u51fd\u6570\uff0c\u800cdict\u53ef\u4ee5\u6253\u6563\u6210\u5173\u952e\u5b57\u53c2\u6570\u7ed9\u51fd\u6570\uff08\u901a\u8fc7\u548c*\uff09\u3002\u6240\u4ee5\u53ef\u4ee5\u8f7b\u677e\u7684\u4f20\u4e2alist/tuple/dict\u7ed9format\u51fd\u6570\u3002\u975e\u5e38\u7075\u6d3b\u3002
\u683c\u5f0f\u9650\u5b9a\u7b26
\u5b83\u6709\u7740\u4e30\u5bcc\u7684\u7684\u201c\u683c\u5f0f\u9650\u5b9a\u7b26\u201d\uff08\u8bed\u6cd5\u662f{}\u4e2d\u5e26:\u53f7\uff09\uff0c\u6bd4\u5982\uff1a
\u586b\u5145\u4e0e\u5bf9\u9f50
\u586b\u5145\u5e38\u8ddf\u5bf9\u9f50\u4e00\u8d77\u4f7f\u7528
^\u3001\u5206\u522b\u662f\u5c45\u4e2d\u3001\u5de6\u5bf9\u9f50\u3001\u53f3\u5bf9\u9f50\uff0c\u540e\u9762\u5e26\u5bbd\u5ea6
:\u53f7\u540e\u9762\u5e26\u586b\u5145\u7684\u5b57\u7b26\uff0c\u53ea\u80fd\u662f\u4e00\u4e2a\u5b57\u7b26\uff0c\u4e0d\u6307\u5b9a\u7684\u8bdd\u9ed8\u8ba4\u662f\u7528\u7a7a\u683c\u586b\u5145
\u6bd4\u5982
In [15]: '{:>8}'.format('189')
Out[15]: ' 189'
In [16]: '{:0>8}'.format('189')
Out[16]: '00000189'
In [17]: '{:a>8}'.format('189')
Out[17]: 'aaaaa189'



\u7cbe\u5ea6\u4e0e\u7c7b\u578bf
\u7cbe\u5ea6\u5e38\u8ddf\u7c7b\u578bf\u4e00\u8d77\u4f7f\u7528
In [44]: '{:.2f}'.format(321.33345)
Out[44]: '321.33'



\u5176\u4e2d.2\u8868\u793a\u957f\u5ea6\u4e3a2\u7684\u7cbe\u5ea6\uff0cf\u8868\u793afloat\u7c7b\u578b\u3002
\u5176\u4ed6\u7c7b\u578b
\u4e3b\u8981\u5c31\u662f\u8fdb\u5236\u4e86\uff0cb\u3001d\u3001o\u3001x\u5206\u522b\u662f\u4e8c\u8fdb\u5236\u3001\u5341\u8fdb\u5236\u3001\u516b\u8fdb\u5236\u3001\u5341\u516d\u8fdb\u5236\u3002
In [54]: '{:b}'.format(17)
Out[54]: '10001'
In [55]: '{:d}'.format(17)
Out[55]: '17'
In [56]: '{:o}'.format(17)
Out[56]: '21'
In [57]: '{:x}'.format(17)
Out[57]: '11'



\u7528\uff0c\u53f7\u8fd8\u80fd\u7528\u6765\u505a\u91d1\u989d\u7684\u5343\u4f4d\u5206\u9694\u7b26\u3002
In [47]: '{:,}'.format(1234567890)
Out[47]: '1,234,567,890'

\u5b57\u7b26\u4e32\u683c\u5f0f\u5316% \u5c31\u662fC\u91cc\u7684printf; format\u662fpython \u5b57\u7b26\u4e32\u81ea\u5df1\u7684\u65b9\u6cd5, \u63a8\u8350\u7528format,\u56e0\u4e3a\u6bd4\u8f83\u7075\u6d3b

\u8c01\u8bf4pythonic\u89e3\u51b3\u95ee\u9898\u4e00\u822c\u4e0d\u662f\u53ea\u6709\u4e00\u79cd\u65b9\u6cd5,\u4ee5\u524d\u7684\u8bf4\u6cd5\u662f\u5e94\u8be5\u662f\u53ea\u6709\u4e00\u79cd\u6700\u4f18\u529e\u6cd5,\u4f46\u73b0\u5728\u4e0d\u662f\u8fd9\u6837\u4e86,python\u7684\u6d41\u884c\u4f7fpython\u9879\u76ee\u767e\u82b1\u9f50\u653e ,\u4e3e\u4e2a\u4f8b\u5b50\u5c31\u62ffweb\u5fae\u6846\u67b6\u6765\u8bf4,\u6709flask,bottle,\u5176\u5b9e\u4e24\u4e2a\u6846\u67b6\u90fd\u5f88\u76f8\u4f3c,\u5b9e\u73b0\u76f8\u540c\u529f\u80fd ,\u4f60\u53ef\u4ee5\u7528\u524d\u4e00\u4e2a ,\u4e5f\u53ef\u4ee5\u7528\u540e\u4e00\u4e2a,\u4ed6\u4eec\u6267\u884c\u7684\u6548\u80fd\u90fd\u662f\u5dee\u4e0d\u591a\u7684, \u53ea\u770b\u4f60\u559c\u6b22\u90a3\u4e2a\u5c31\u7528\u90a3\u4e2a

#一个例子(缩进格式看图)

strs=[

"一","一千","一千零",

"一千零一","一千零一夜"

]

for s in strs:

print("{:*^{b}}".format(s,b=len(s)+4))

print()

for s in strs:

print("{:!^{}}".format(s,len(s)+6))

print()

for s in strs:

print("{0:=^{1}}".format(s,len(s)+8))



在{}里继续嵌套一次{},并在format的参数里增加一项即可。

b=10
print("{0:*^{width}}".format("字符串", width=b))

b=30
print("{0:*^{width}}".format("字符串", width=b))

最后得到的输出如下
***字符串****
*************字符串**************

print(f"{{0:*^{b}}}".format("字符串"))
或者
print("{{0:*^{0}}}".format(b).format("字符串"))

扩展阅读:学python后到底能干什么 ... python编程入门自学 ... python手机版下载官方 ... python解释器手机版下载 ... python里format用法 ... python str format ... 学python最佳年龄 ... python for in循环 ... 在python中怎么使用format ...

本站交流只代表网友个人观点,与本站立场无关
欢迎反馈与建议,请联系电邮
2024© 车视网