如果我想让我的格式化字符串动态可调,我可以更改以下代码
print '%20s : %20s' % ("Python", "Very Good")
to
width = 20
print ('%' + str(width) + 's : %' + str(width) + 's') % ("Python", "Very Good")
不过,这里的字符串连接似乎很麻烦。还有其他方法可以简化事情吗?
您可以使用str.format() https://docs.python.org/3/library/stdtypes.html#str.format method.
>>> width = 20
>>> print("{:>{width}} : {:>{width}}".format("Python", "Very Good", width=width))
Python : Very Good
从Python 3.6开始你可以使用f-string https://docs.python.org/3.6/reference/lexical_analysis.html#formatted-string-literals去做这个:
In [579]: lang = 'Python'
In [580]: adj = 'Very Good'
In [581]: width = 20
In [582]: f'{lang:>{width}}: {adj:>{width}}'
Out[582]: ' Python: Very Good'
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)