私はこのPythonコードを持っています:
file2.write(link) + '\n' + '\n' + '\n'
なぜそれが機能しないのですか、しかし以下は機能します:
file2.write((link) + '\n' + '\n' + '\n')
私はこのPythonコードを持っています:
file2.write(link) + '\n' + '\n' + '\n'
なぜそれが機能しないのですか、しかし以下は機能します:
file2.write((link) + '\n' + '\n' + '\n')
前者は関数を呼び出してから結果に文字列を追加しますが、これはおそらく無効であり、確かに正しくありません。後者は文字列を足し合わせて関数を呼び出し、足し算の結果を渡します。
write 関数の括弧は、ファイルに書き込みたいすべてのものを囲む必要があります。最初の例では、(リンク) を書き、それが終わった後に意味のない改行文字をたくさん与えます。
2 番目の例では、 write( link + newlines ) で、 write 関数の閉じ括弧は最後にのみ付けます。したがって、それは機能します。( write( (link) ) はやややり過ぎですが)
要約すると、一致する括弧を強調表示するソース コード エディターを使用してください。これらのエラーを見つけやすくなります。
file2.write(link) + '\n' + '\n' + '\n'
link
変数の内容をファイルに書き込んでいますfile2
。この呼び出しは成功すると None を返し、'\n'
この結果に文字列を連結しています。最後に、link
変数の内容のみがファイルになりますfile2
。
file2.write((link) + '\n' + '\n' + '\n')
link
最初に変数の内容を'\n'
文字列に連結し、括弧を使用して文字列連結の優先順位を設定します。そして、それらすべてをファイルに書き込みますfile2
。
を呼び出すとfile2.write()
、write()
オブジェクトの関数になりますfile2
。link
文字列である関数への引数です。あなたが書くとき+ '\n' + '\n' + '\n'
その式は文字列に評価されます"\n\n\n"
。とその文字列を書きたい場合はlink
、それらを 1 つの文字列引数として関数に渡す必要がありますwrite()
。これは、によって達成されfile2.write((link) + '\n' + '\n' + '\n')
ます。それ以外の場合は、関数を呼び出して、文字列を関数呼び出しの戻り値に連結しようとしています。