私はpythonで本当に長い文字列を持っている:文字列は複数行にまたがることからPythonで長い文字列を宣言するには?
long_string = '
this is a really
really
really
long
string
'
しかし、Pythonは文字列としてこれを認識しません。これをどうやって解決するのですか?
私はpythonで本当に長い文字列を持っている:文字列は複数行にまたがることからPythonで長い文字列を宣言するには?
long_string = '
this is a really
really
really
long
string
'
しかし、Pythonは文字列としてこれを認識しません。これをどうやって解決するのですか?
long_string = '''
this is a really
really
really
long
string
'''
"""
と同じことをします。あなたは、文字列の内部に空白をよりよく制御しているので、あなたも素敵である、これを行うことができます
long_string_that_has_linebreaks = '''foo
this is really long
'''
文字列の行をインデントするとコードが読みやすくなり、結果として得られる文字列のインデントを削除するのに 'dedent'を使用できます。 – IanS
あなたはどちらか
long_string = 'fooo' \
'this is really long' \
'string'
を使用したりすることができます
をlong_string = (
'Lorem ipsum dolor sit amet, consectetur adipisicing elit, '
'sed do eiusmod tempor incididunt ut labore et dolore magna '
'aliqua. Ut enim ad minim veniam, quis nostrud exercitation '
'ullamco laboris nisi ut aliquip ex ea commodo consequat. '
'Duis aute irure dolor in reprehenderit in voluptate velit '
'esse cillum dolore eu fugiat nulla pariatur. Excepteur sint '
'occaecat cupidatat non proident, sunt in culpa qui officia '
'deserunt mollit anim id est laborum.'
)
また、最初のオプションでは、文字列を丸めたカッコがある場合は、バックスラッシュは必要ありません。しかし、文字列の連結を使用すると大きな欠点に気づくでしょう。スペースを本当に気にしない限り、 '' fooothisは本当に長いストリングです。 ''おそらくあなたが望むものではありませんでした。 – Duncan
改行が必要な場合は
実際、これは1つの要素を持つタプルを作成したいときに遭遇したことの1つです; – plaes
これは文字列ではない評価値が必要なときには機能しません。一般的に、リストの理解を使用して複雑なデータを文字列に埋め込む場合、私はこのような表現をこの文字列定義スタイルと組み合わせる方法を見出していません。 :( – ThorSummoner
long_string = textwrap.dedent( '' 'ロング文字列、インデントされた各行は' '')https://docs.python.org/3/library/textwrap.html#textwrap.dedent – moorecm
私はこのように動作させることもできました。
long_string = '\
this is a really \
really \
really \
long \
string\
'
このように複数行の文字列を構成する方法については、オンラインでは参照できません。それが正しいかどうかわかりません。私の疑問は、バックスラッシュのためにpythonが改行を無視しているということですか?たぶん誰かがこれについて光を当てることができます。
また、崇高なテキスト(ビルド3114)は、これを強調する構文に問題があるようです。 –
"" "..." "" 'に入れてください。 '" "" long-long-string "" "' – khachik
ドキュメント文字列には3重引用符は予約されていませんか? – ffledgling
@ffledglingドキュメントの文字列に使用される複数行の文字列に予約されています – Winand