Python:语法不起作用

时间:2012-05-30 04:50:42

标签: python

我有这个Python代码:

file2.write(link) + '\n' + '\n' + '\n'

为什么它不起作用,但以下是:

file2.write((link) + '\n' + '\n' + '\n')

4 个答案:

答案 0 :(得分:6)

前者调用函数然后向结果添加字符串,这可能是无效的,当然也是错误的。后者将字符串添加到一起并调用函数,传递添加的结果。

答案 1 :(得分:1)

write函数的括号应该包含要写入文件的所有内容。在第一个例子中,你写(链接),然后在完成之后给出一堆毫无意义的新行字符。

在第二个示例中,您编写(链接+换行符),写函数的右括号仅在结尾处。因此有效。 (虽然写((链接))有点矫枉过正)

总结:使用源代码编辑器为您突出显示匹配的括号。它使这些错误更容易被发现。

答案 2 :(得分:0)

file2.write(link) + '\n' + '\n' + '\n'

您正在将link变量的内容写入文件file2。如果成功,则此调用返回None,并且您将字符串'\n'连接到此结果。最后,只有link变量的内容位于文件file2中。

file2.write((link) + '\n' + '\n' + '\n')

首先将link变量的内容与字符串'\n'连接起来,使用括号将优先级设置为字符串连接。然后将所有这些内容写入文件file2

答案 3 :(得分:0)

当您致电file2.write()时,write()是对象file2上的一项功能。 link是函数的一个参数,它是一个字符串。写+ '\n' + '\n' + '\n'时表达式求值为字符串"\n\n\n"。如果要编写link和该字符串,则必须将它们作为一个字符串参数传递给函数write()。这是由file2.write((link) + '\n' + '\n' + '\n')完成的。否则,您只是调用该函数并尝试将字符串连接到函数调用的返回值。