[解決済み] 複数行の長い文字列を作成するためのPythonicな方法
2022-03-16 17:15:07
質問
非常に長いクエリを持っています。Pythonでそれを数行に分割したいのですが、可能でしょうか?JavaScriptでそれを行う方法は、いくつかの文章を使用し、それらを
+
演算子(最も効率的な方法ではないかもしれませんが、この段階では性能はあまり気にせず、コードの読みやすさだけを考えています)を使っています。例を挙げます。
var long_string = 'some text not important. just garbage to' +
'illustrate my example';
Pythonで似たようなことをやってみたのですが、うまくいかなかったので
\
を使って長い文字列を分割しています。しかし、この方法が唯一/最善/最良の方法であるかどうかはわかりません。見た目もぎこちない。
実際のコードです。
query = 'SELECT action.descr as "action", '\
'role.id as role_id,'\
'role.descr as role'\
'FROM '\
'public.role_action_def,'\
'public.role,'\
'public.record_def, '\
'public.action'\
'WHERE role.id = role_action_def.role_id AND'\
'record_def.id = role_action_def.def_id AND'\
'action.id = role_action_def.action_id AND'\
'role_action_def.account_id = ' + account_id + ' AND'\
'record_def.account_id=' + account_id + ' AND'\
'def_id=' + def_id
解決方法は?
複数行の文字列のことですか?簡単です、トリプルクォートを使って開始と終了をします。
s = """ this is a very
long string if I had the
energy to type more and more ..."""
シングルクォートも使用でき(もちろん最初と最後に3つ)、結果の文字列を処理できます。
s
他の文字列と同じように
ノート : 他の文字列と同様に、開始と終了の引用符の間は文字列の一部となります。また、この文字列には空白と改行が含まれます。
すなわち、、、。
' this is a very\n long string if I had the\n energy to type more and more ...'
最後に、Pythonではこんな風に長い行を構成することもできます。
s = ("this is a very"
"long string too"
"for sure ..."
)
これは ない には余分な空白や改行が含まれます(これは、空白をスキップした場合にどのような影響が出るかを示す意図的な例です)。
'this is a verylong string toofor sure ...'
カンマは不要です。結合する文字列を一対の括弧に入れ、必要な空白と改行を考慮に入れてください。
関連
-
[解決済み】ValueError: pickleプロトコルがサポートされていません。3、python2 pickleはpython3 pickleでダンプしたファイルを読み込むことができない?
-
[解決済み】「OverflowError: Python int too large to convert to C long" on windows but not mac
-
[解決済み] C++でintをstringに変換する最も簡単な方法
-
[解決済み] ファイルの内容からJavaの文字列を作成するにはどうすればよいですか?
-
[解決済み] Pythonで複数行のコメントを作成する方法はありますか?
-
[解決済み] Python 3で文字列をバイトに変換する最良の方法?
-
[解決済み] ファイルに行を書き込む正しい方法?
-
[解決済み] Rubyで複数行のコメント?
-
[解決済み] 複数行のコマンドを入力する方法
-
[解決済み】Django ORMのselect_relatedとprefetch_relatedの違いは何ですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
Python Decorator 練習問題
-
Python 可視化 big_screen ライブラリ サンプル 詳細
-
Python入門 openを使ったファイルの読み書きの方法
-
Python Pillow Image.save jpg画像圧縮問題
-
Python 入出力と高次代入の基礎知識
-
[解決済み】TypeErrorの修正方法。Unicodeオブジェクトは、ハッシュ化する前にエンコードする必要がある?
-
[解決済み】「RuntimeError: dictionary changed size during iteration」エラーを回避する方法とは?
-
[解決済み】Pythonスクリプトで「Expected 2D array, got 1D array instead: 」というエラーが発生?
-
[解決済み】インポートエラー。モジュール名 urllib2 がない
-
[解決済み】 TypeError: += でサポートされていないオペランド型: 'int' および 'list' です。