什么是避免在字符串中指定相同值的最pythonic方法

ome*_*ach 8 python string formatting

message = "hello %s , how are you %s, welcome %s"%("john","john","john")
Run Code Online (Sandbox Code Playgroud)

什么是避免指定"john"3次而是指定一个短语的最pythonic方法.

jam*_*lak 24

我不会使用%格式化,.format有很多优点.此外,%格式化最初计划在.format更换时删除,尽管显然这并没有实际发生.

用于内置字符串格式化操作的新系统替换%字符串格式化操作符.(但是,%仍然支持运算符;它将在Python 3.1中弃用,并在以后的某个时间从语言中删除.)阅读PEP 3101以获取完整的独家新闻.

>>> "hello {name}, how are you {name}, welcome {name}".format(name='john')
'hello john, how are you john, welcome john'
Run Code Online (Sandbox Code Playgroud)

我更喜欢第一种方式,因为它是明确的,但这是为什么.format优于%格式化的原因

>>> "hello {0}, how are you {0}, welcome {0}".format('john')
'hello john, how are you john, welcome john'
Run Code Online (Sandbox Code Playgroud)


spi*_*igo 11

"hello %(name)s , how are you %(name)s, welcome %(name)s" % {"name": "john"}
'hello john, how are you john, welcome john'
Run Code Online (Sandbox Code Playgroud)

这是另一种不使用格式的方法.