gpt4 book ai didi

python - 使用 `str.format` 函数但不使用 %s 语法时出现键错误

转载 作者:行者123 更新时间:2023-11-28 21:57:40 24 4
gpt4 key购买 nike

使用 python 2.7.4 和 3.3.1:

from textwrap import dedent as dd


name='Maruja'

print(dd('''
{0}:
_.-.
'( ^{_} (
`~\`-----'\\
)_)---)_)
'''.format(name)))

这是两者的关键错误:

$ python3 test.py    # or python2 test.py
Traceback (most recent call last):
File "test.py", line 9, in <module>
'''.format(name)))
KeyError: '_'

虽然使用 % 运算符它可以工作:

from textwrap import dedent as dd


name ='Maruja'

print(dd('''
%s:
_.-.
'( ^{_} (
`~\`-----'\\
)_)---)_)
''' % name))

没有错误,但为什么?

$ python3 test2.py    # or python2 test2.py
Maruja:
_.-.
'( ^{_} (
`~\`-----'\
)_)---)_)

我一直没弄清楚为什么会这样,我已经在几个环境中进行了测试,它有什么问题吗?

最佳答案

format 方法将 {_} 也视为命名占位符之一,它期望键值对与键 _ .由于找不到匹配项,因此失败并显示 KeyError: '_'

关于python - 使用 `str.format` 函数但不使用 %s 语法时出现键错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19556952/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com