加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

为什么Python在特定情况下使用百分比运算符支持元组和字典格式?

发布时间:2020-12-20 13:12:33 所属栏目:Python 来源:网络整理
导读:这个输入: '%s %(?)s' % {'?': 'a'} 结果输出: "{'?': 'a'} a" 它将源字符串中基于元组和基于字典的占位符替换为您单独使用其中任何一个时所期望的值. 但是,如果您反转字符串中占位符的位置,则会出现TypeError: In [2]: '%(?)s %s' % {'?': 'a'}---------
这个输入:

'%s %(?)s' % {'?': 'a'}

结果输出:

"{'?': 'a'} a"

它将源字符串中基于元组和基于字典的占位符替换为您单独使用其中任何一个时所期望的值.

但是,如果您反转字符串中占位符的位置,则会出现TypeError:

In [2]: '%(?)s %s' % {'?': 'a'}
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-2-7989b5f88c97> in <module>()
----> 1 '%(?)s %s' % {'?': 'a'}

TypeError: not enough arguments for format

解决方法

每个%s在独立的%符号后使用其中一个变量.在第一种情况下,有两个变量,while表达式和字典映射.

在第二种情况下,第一个%s采用字典映射并使用整个表达式,对其进行了评估.这使得第二个%s没有匹配的变量.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读