0

私はこのPythonコードを持っています:

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

なぜそれが機能しないのですか、しかし以下は機能します:

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

4 に答える 4

6

前者は関数を呼び出してから結果に文字列を追加しますが、これはおそらく無効であり、確かに正しくありません。後者は文字列を足し合わせて関数を呼び出し、足し算の結果を渡します。

于 2012-05-30T04:55:12.987 に答える
1

write 関数の括弧は、ファイルに書き込みたいすべてのものを囲む必要があります。最初の例では、(リンク) を書き、それが終わった後に意味のない改行文字をたくさん与えます。

2 番目の例では、 write( link + newlines ) で、 write 関数の閉じ括弧は最後にのみ付けます。したがって、それは機能します。( write( (link) ) はやややり過ぎですが)

要約すると、一致する括弧を強調表示するソース コード エディターを使用してください。これらのエラーを見つけやすくなります。

于 2012-05-30T04:59:04.360 に答える
0
file2.write(link) + '\n' + '\n' + '\n'

link変数の内容をファイルに書き込んでいますfile2。この呼び出しは成功すると None を返し、'\n'この結果に文字列を連結しています。最後に、link変数の内容のみがファイルになりますfile2

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

link最初に変数の内容を'\n'文字列に連結し、括弧を使用して文字列連結の優先順位を設定します。そして、それらすべてをファイルに書き込みますfile2

于 2012-05-30T04:59:42.683 に答える
0

を呼び出すとfile2.write()write()オブジェクトの関数になりますfile2link文字列である関数への引数です。あなたが書くとき+ '\n' + '\n' + '\n' その式は文字列に評価されます"\n\n\n"。とその文字列を書きたい場合はlink、それらを 1 つの文字列引数として関数に渡す必要がありますwrite()。これは、によって達成されfile2.write((link) + '\n' + '\n' + '\n')ます。それ以外の場合は、関数を呼び出して、文字列を関数呼び出しの戻り値に連結しようとしています。

于 2012-05-30T05:01:02.433 に答える