我是通过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行时。
为什么!?
答案 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