Django for example使用此代码来满足ValidationError
exceptions
>>> message = 'My name is %(name)s'
>>> params = {'name': 'George'}
>>> message %= params
>>> print(message):
'My name is George'
我设法在%=
上找到的唯一文档是here,在这里将其称为modulus assignment operator
。
我真的不明白为什么它可以与旧样式格式(%
)一起使用,也无法理解如何与新样式格式(str.format()
)一起使用。
新样式格式是否会使此代码多余?
答案 0 :(得分:1)
这是str的功能(在2x和3x中)。它是message = message % params
的简写形式,带有作为格式字符串的消息。您可以阅读类似*= aka __imul__
here之类的类似运算符。
string / modulus运算符用于“旧python格式设置”,您可以在此处与new and old的历史一起阅读。