Pythonのブロックの前のコロンは何のためにあるのですか?
2023-09-02 07:16:08
質問
Pythonのブロックの前のコロンは何のためにあるのですか?
例です。
if n == 0:
print "The end"
どのように解決するのですか?
コロンは、インデントされたブロックの開始を宣言するために存在します。
技術的には、これは必要ありません。単にインデントして、ブロックが終了したときにインデントを解除すればよいのです。しかし Python の公案 「明示的は暗黙的よりも優れている」(EIBTI) に基づいて、Guido は意図的にコロンを義務化したのだと私は思います。 任意の という文は べきである の後にインデントされたコードが続く場合は、コロンで終わります。(コロンの後に続ければワンライナーも可能ですが、このスタイルはあまり普及していません)。
また、構文を認識する自動インデントエディターの作業を容易にし、これも決定の一因となりました。
この質問は、結局のところ Python FAQ であり、私はGuidoによるその答えの一つを見つけました。 ここで :
<ブロッククオートif/while/def/class文にコロンが必要なのはなぜですか?
コロンが必要なのは、主に可読性を高めるためです(実験的なABC言語の成果の1つ)。これを考えてみましょう。
if a == b
print a
対
if a == b:
print a
2番目のものがいかに読みやすいかに注目してください。さらに、このFAQの回答では、コロンで例を区切っていることに注目してください。
プログラムテキストをより精巧に解析する代わりに、インデントを増やす必要がある場合にコロンを探して判断することができるからです。
関連
-
[解決済み] JavaScriptで "use strict "は何をするのか、その根拠は?
-
[解決済み] バイトを文字列に変換する
-
[解決済み] 改行やスペースを入れずに印刷する方法
-
[解決済み] 自分」という言葉は何のためにあるのか?
-
[解決済み】ネストされたディレクトリを安全に作成するには?
-
[解決済み】forループを使った辞書の反復処理
-
[解決済み】__str__と__repr__の違いは何ですか?
-
[解決済み】2つの辞書を1つの式でマージする(辞書の和をとる)には?)
-
[解決済み] Pythonのマルチプロセッシングプールimap_unorderedの呼び出しの進捗を表示しますか?
-
[解決済み] 単純な文字列からtimedeltaオブジェクトを作成する方法
最新
-
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でのAWS Lambdaのインポートモジュールエラー
-
[解決済み] PythonでSVGからPNGに変換する
-
[解決済み] dict を txt ファイルに書き、それを読み取る?
-
[解決済み] 小数点以下1桁を取得する[重複]。
-
[解決済み] Pythonのargparseを使った隠し引数の作成
-
[解決済み] Pythonで0xを使わずにhex()を使うには?
-
[解決済み] スペースがないテキストを単語のリストに分割する方法
-
[解決済み] Python Logging でログメッセージが2回表示される件
-
[解決済み] Pandasのデータフレーム内の文字列を'date'データ型に変換するにはどうしたらいいですか?
-
[解決済み] あるメソッドが複数の引数のうち1つの引数で呼び出されたことを保証する