我使用的网站后端有一个选项,允许我在为产品下订单时自定义以 CSV 文件发送的数据。有两列,左列是分配标题的位置,右列是输入变量的位置。现有变量的语法类似于%(order.random_variable)s
or%(item.random_variable)s
这看起来类似于%s
Python 中的字符串占位符,我相当有信心它是相关的,如果不一样的话,但我不太了解语法。有人可以详细说明这段代码的目的吗?
哦,为了记录,我不打算马上进入并改变变量。只是为我的研究寻找一个好的起点。
我使用的网站后端有一个选项,允许我在为产品下订单时自定义以 CSV 文件发送的数据。有两列,左列是分配标题的位置,右列是输入变量的位置。现有变量的语法类似于%(order.random_variable)s
or%(item.random_variable)s
这看起来类似于%s
Python 中的字符串占位符,我相当有信心它是相关的,如果不一样的话,但我不太了解语法。有人可以详细说明这段代码的目的吗?
哦,为了记录,我不打算马上进入并改变变量。只是为我的研究寻找一个好的起点。
这类似于%s
. 括号内的部分是可选的。
唯一的区别是,对于第一个,您的值必须是一个与格式字符串指定的项目数完全相同的元组,而对于第二个,它必须是单个映射对象(例如,字典)
它清楚地列在字符串格式文档中:-
转换说明符包含两个或多个字符并具有以下组件,这些组件必须按此顺序出现:
- '%' 字符,标记说明符的开始。
- 映射键(可选),由带括号的字符序列组成(例如,(somename))。
.. 还有更多
还: -
当正确的参数是字典(或其他映射类型)时,字符串中的格式必须包含一个插入到该字典中的带括号的映射键,该键紧跟在 '%' 字符之后。映射键从映射中选择要格式化的值
文档中的一个示例:-
>>> print '%(language)s has %(number)03d quote types.' % \
... {"language": "Python", "number": 2}
Python has 002 quote types.
()
因此, after%
和 before中的文本s
是key
字典中的 a。
是的,这类似于 %s。() 里面的部分是引用一个 python 字典的键。例如:
mydict = {'yay':'boo'}
print '%(yay)s'%mydict
# boo