【发布时间】:2015-09-04 13:28:34
【问题描述】:
如果您忘记了字符串列表中的逗号,Python (2.7) 将自动连接两个字符串。例如:
x = ['id', 'date' 'time']
print(x)
#[id, 'datetime']
这种行为似乎与用户忘记逗号的绝大多数“用例”相反。这会导致代码中丢失错误或收到奇怪的错误消息。例如,在上面的示例中,这是一个对象的属性列表,它抛出了AttributeError: 'YourObjectClass' object has no attribute 'datetime'。这是一个功能还是一个错误,如果它是一个功能,为什么它是一个功能?
【问题讨论】:
-
此行为不仅在列表中。试试
x = 'date' 'time' -
在 C 语言中:为了允许更灵活的布局并解决一些预处理问题,C89 委员会引入了字符串文字连接。将一行中的两个字符串文字粘贴在一起,中间没有空字符,以组成一个组合字符串文字 ...C 语言的这一添加允许程序员将字符串文字扩展到物理的末尾之外行而不必使用反斜杠换行机制”我怀疑Python有同样的理由,即减少丑陋的\以继续长字符串文字。