第十章python文の概要


pythonの知識構造を再温める
pythonプログラムの構造:
  • プログラムはモジュールから構成される.
  • モジュールは文を含む.
  • 文には式が含まれています.
  • 式はオブジェクトを作成して処理します.

  • pythonの文
    ステートメント
    機能
    に値を付ける
    参照値の作成
    呼び出しと他の式
    関数の実行
    print呼び出し
    オブジェクトの印刷
    if/else/elif
    アクションの選択
    for/else
    シーケンス反復
    while/else
    ユニバーサルサイクル
    pass
    空のプレースホルダ
    break
    ループ終了
    continue
    ループ継続
    def
    関数とメソッド
    return
    関数の結果
    yield
    ジェネレータ関数
    global
    ネーミングスペース
    nonlocal
    ネーミングスペース
    import
    モジュールの取得
    from
    属性の取得
    class
    オブジェクトの構築
    try/except/finally
    スナップ例外
    raise
    トリガ異常
    assert
    デバッグチェック
    with/as
    コンテキストマネージャ
    del
    参照の削除
    2つの異なるif
    クラスC言語の構文で記述されたif文:
    if (x > y){
         
    	x = 1;
    	y = 2;
    }
    

    python言語で等価な文を使用します.
    if x > y:
    	x = 1
    	y = 2
    

    python文はより簡潔で分かりやすくコンパクトであることが明らかになった.
    pythonが追加した要素
    pythonの新しい構文成分の場合(:).すべてのpythonの複合文(つまり、他の文が埋め込まれた文)は同じ一般的な形式を持っています.つまり、最初の行がコロンで終わると、最初の行の次の行がネストされたコードは、次のようにインデントされた形式で書かれることが多いです.
    header line:
    	nested statement block
    

    python削除された要素
    かっこはオプション
    クラスC言語では式をかっこに入れる必要がありますが、pythonプログラムではかっこはオプションです.
    if (x > y)
    
    if x > y
    

    以上の2つのif文は等価ですが、本場の「python式」のやり方はこのような文の中で完全に省略します.
    行の終了は文の終了です
    クラスC言語で2番目に重要な要素式行末のセミコロンはpythonでは必要ありません.
    x = 1;
    
    x = 1
    

    インデントの終了はコードブロックの終了です
    クラスC言語の構文で記述されたif文:
    if (x > y){
         
    	x = 1;
    	y = 2;
    }
    

    python言語で等価な文を使用します.
    if x > y:
    	x = 1
    	y = 2
    

    インデント構文を使用する理由
    論理構造に基づいてコードを整列させることは、プログラムの可読性を向上させる重要なステップであり、したがって、プログラムは再利用性とメンテナンス性を備えている.
    いくつかの特殊な状況.
    文ルールの特殊な状況
    1行に複数の文が押し込まれた場合、セミコロンで区切られます.
    a = 1; b = 2; print(a + b)
    

    反対の文の範囲は複数の行にまたがることができ、この操作を実現するには、括弧、中括弧、または大括弧を含む文を1対の括弧で拡張する必要があります.
    mylist = [111111,
    		  222222,
    		  333333]
    
    
    X = (a + b +
    	c + d)
    

    いくつかの行を越える方法は、文の最後に反スラッシュを使用することです.
    X = a + b + \
    	c + d
    

    コードブロックの特殊な状況
    ネストされたコードブロック内の文は、一般に同じ量を右にインデントすることによって相互に関連付けられます.しかし、複合文の主体がpythonの最初の行のコロンの後に現れる場合があります.
    if x > y: print(x)