Python 3.5 .format()方法[重复]

问题描述 投票:-1回答:3

这个问题在这里已有答案:

a = 19/3 
print('just testing {a:1.4f}'.format (a))

在python 3.5中,这会导致错误KeyError: 'a'。 我不明白为什么。我可以使用解决方法来克服错误,但如果有人能解释我为什么会收到错误,我真的很感激。

python methods format
3个回答
0
投票

冒号之前的项是format()函数的参数的索引。有关详细信息,请参阅https://docs.python.org/3.5/library/stdtypes.html#str.format

所以你的例子应该是:

a = 19/3
print('just testing {0:.4f}'.format (a))

或者,如果您运行的是python 3.6或更高版本,则可以使用f-strings:

a = 19/3
print(f'just testing {a:.4f}')

有关详细信息,请参阅https://docs.python.org/3/reference/lexical_analysis.html#f-strings


1
投票

类似Dict的符号:

>>> a = 4
>>> b = 10
>>> 'just testing {num1}, {num2}'.format(num1 = a, num2 = b)
just testing 4, 10

顺序表示法

>>> a = 4
>>> b = 10
>>> 'just testing {0}, {1}'.format(a, b)
just testing 4, 10

使用类似dict的表示法:print('just testing {num}'.format(num=a))或顺序表示法:print('just testing {0}'.format(a))


0
投票
print('just testing {0:.4f}'.format (a))

这里变量的索引从0开始。所以如果你有另一个变量让我们说b=3.142语法将是:

print('just testing {1:.2f} {0:.4f}'.format (a,b))
© www.soinside.com 2019 - 2024. All rights reserved.