【发布时间】:2018-11-14 19:44:06
【问题描述】:
我在Python 3.6.1上运行,今天漏了一个逗号,如下:
nt = namedtuple('Record', ['c', 'a' 'b'])
# instead the following is what I actually want
nt = namedtuple('Record', ['c', 'a', 'b'])
但我只是想知道为什么第一种方式在任何方面都是有效的 Python?它不应该抱怨语法错误吗?
我刚刚在 3.5.2 和 2.7.11 中尝试过。似乎都有效。但它有效吗?
【问题讨论】:
-
'a' 'b'是'ab'这是有效的 -
是的,连续的字符串文字被连接起来。就像在 C 或其他几种语言中一样。
-
我已经在 Python 中工作了两年,这是我第一次知道这一点。我可以知道这背后的哲学是什么吗? @MartijnPieters 我相信这是一个错误的来源——我认为它应该只是告诉我语法错误