String formatting: better to use '%' or 'format'?
本问题已经有最佳答案,请猛点这里访问。
我使用python3.4,我可以用两种方式格式化字符串:
1 | print("%d %d" %(1, 2)) |
和
1 | print("{:d} {:d}".format(1, 2)) |
在文档中,它们只显示使用"格式"的示例。这是否意味着使用"%"不好,或者使用哪个版本无关紧要?
引用官方文件,
This method of string formatting is the new standard in Python 3, and should be preferred to the % formatting described in String Formatting Operations in new code.
因此,建议采用
除了官方网站上的建议之外,format()方法比运算符"%"更灵活、更强大、更可读。
例如:
1 2 3 4 5 6 7 | >>> '{2}, {1}, {0}'.format(*'abc') 'c, b, a' >>> coord = {'latitude': '37.24N', 'longitude': '-115.81W'} >>> 'Coordinates: {latitude}, {longitude}'.format(**coord) 'Coordinates: 37.24N, -115.81W' >>>"Units destroyed: {players[0]}".format(players = [1, 2, 3]) 'Units destroyed: 1' |
越来越多,越来越多,越来越多…很难对运算符"%"执行类似的操作。