Python - TypeError:format()最多需要2个参数(给定3个)

时间:2016-04-26 19:14:15

标签: python format

我是通过SoloLearn参加Python3的入门课程。 这是他们给出的代码示例,但是当我在Python3或Python2中运行它时,我得到类似的错误。这是代码,关于字符串格式的介绍:

nums = [4, 5, 6]
msg = "Numbers: {0} {1} {2}".
format(nums[0], nums[1], nums[2])
print(msg)

应该导致:

>>>
Numbers: 4 5 6
>>>

但我在第2行遇到语法错误,指向"。"在行尾,因为语法无效。

我得到 TypeError:format()最多需要2个参数(给定3个) 当我尝试执行第3行时。

为什么!?

3 个答案:

答案 0 :(得分:3)

第2行和第3行应该是一行:

msg = "Numbers: {0} {1} {2}".format(nums[0], nums[1], nums[2])

如果代码在实际课程中有这个换行符,他们需要一起行动。如果您介绍了换行符,请不要这样做。

答案 1 :(得分:2)

如果你想把format放在另一行,你要么像这样放一个反斜杠:

msg = "Numbers: {0} {1} {2}".\
format(nums[0], nums[1], nums[2])

或用括号括起来,或者更好的是,将format放在同一行

答案 2 :(得分:0)

format()方法返回格式化的字符串。 之前的简单 format()方法,(逗号)删除并添加。 (点)

domain = "https://devnote.in"
expiry_date = "25-09-2020"
expiry_day = "45"

# old code
print ("Domain name: {} Expiry Date : {} Expiry Day : {}",format(domain,expiry_date,expiry_day))
Output : TypeError: format() takes at most 2 arguments (3 given)

# new code
print ("Domain name: {} Expiry Date : {} Expiry Day : {}".format(domain,expiry_date,expiry_day))
Output : Domain name: https://devnote.in Expiry Date : 25-09-2020 Expiry Day : 45