这段代码是什么:%(var)s?Python可能吗?

Dry*_*ong 1 python

我使用的网站后端有一个选项,允许我在为产品下订单时自定义CSV文件中发送的数据.有两列,左列是您分配标题的位置,右列是您输入变量的位置.现有变量的语法类似于%(order.random_variable)s或者.%(item.random_variable)s这看起来类似于%sPython中的字符串占位符,我相信它是相关的,如果不相同,但我不太了解语法.有人可以详细说明这段代码的目的吗?

哦,为了记录,我不打算进入并立即改变变量.只是为我的研究寻找一个好的起点.

Roh*_*ain 5

这类似于%s.括号内的部分是可选的.

唯一的区别是,对于第一个,您的值必须是具有格式字符串指定的项目数的元组,而对于第二个,它必须是单个映射对象(例如,字典)

它在String格式文档中清楚地列出: -

转换说明符包含两个或多个字符,并具有以下组件,这些组件必须按以下顺序出现:

  1. '%'字符,标记说明符的开头.
  2. 映射键(可选),由带括号的字符序列组成(例如,(somename)).
    ..还有一些

还: -

当右参数是字典(或其他映射类型)时,字符串中的格式必须包含括号内的映射键,该字符串紧跟在'%'字符后面插入的字典中.映射关键字从映射中选择要格式化的值

文档中的一个例子: -

>>> print '%(language)s has %(number)03d quote types.' % \
...       {"language": "Python", "number": 2}
Python has 002 quote types.
Run Code Online (Sandbox Code Playgroud)

因此,()after %和before之内的文本skey字典中的一个.