【问题标题】:Can I pass all variable arguments to a .format() method?我可以将所有变量参数传递给 .format() 方法吗?
【发布时间】:2022-06-17 21:37:34
【问题描述】:
x="this" 
y="is" 
z="cake" 
print("{x}{y}{z}".format(z,y,x))

上面的代码给出以下错误:

Traceback (most recent call last):
  File "C:\Users\....\class_var_and_instance_var.py", line 36, in <module>
    print("{x}{y}{z}".format(z,y,x))
KeyError: 'x'

【问题讨论】:

  • 为什么不直接使用 f-strings?但是你基本上是在混淆位置参数和关键字参数。
  • format 不知道使用什么变量名来提供其参数。您需要像 "...".format(x=z, y=y, z=x) 这样的显式关键字参数来传达该信息。

标签: python


猜你喜欢
  • 2016-04-16
  • 1970-01-01
  • 1970-01-01
  • 2015-02-13
  • 2011-02-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多