Pythonの抽象


前回の授業ではPythonのキーデータ型を紹介しました.データ型を学習し、データをどのような形式で格納し、利用するかを理解します.次に、抽象を見てみましょう.コードをより簡潔に、より簡潔に書くのに役立ちます.

💖 変数を正しく理解する

x = x + 1
数学では、この公式は成立しません.xはx+1に等しくないからです.しかしPythonではこのように成り立っている.これは、シンボル"="が2つのアイテムが同じであることを意味するのではなく、右側の値を左側の変数に入れることを意味するためです.Pythonの"="記号を指定演算子(assignment演算子)と呼びます.
このコードの上に「x=5」という変数が宣言されている場合、コードの右側の部分のみを表示すると、変数xには5という数字6が含まれ、6は左側のxに格納されます.
もう一度、Pythonで等号の意味は「等しい」ではなく、「左側変数に右側の値を指定する」ことを忘れないでください.

💖 関数の実行順序

def hello():
    print("Hello!")
    print("It's a nice day!")

print("함수 호출 전")
hello()
print("함수 호출 후")
上のコードはどのような順序で実行されますか?コードの上部は関数を定義する部分であるため、この関数は実行されません.したがって、コードの下部から実行します.関数呼び出しは、関数実行と同じ意味であることに注意してください.コードの実行順序は次のとおりです.
  • 文字列「関数呼び出し前」出力
  • 呼び出し
  • hello関数
    2-1. 文字列「Hello!」しゅつりょく
    2-2. 文字列「It's a nice day!」出力
  • 文字列「関数呼び出し後」出力
  • 今回はこのコードの順番を見てみましょう.
    def square(x):
        return x * x
        
    print("함수 호출 전")
    print(square(2) + square(5))
    print("함수 호출 후")
    最初のコードとは異なり、returnというコマンドがあります.実行順を見てみましょうか?
  • 文字列「関数呼び出し前」出力
  • 計算
  • かっこ内の演算
    2-1. 左側のsquare関数を呼び出し、パラメータ2をスキップします.
    2-2. 2に2を掛けて演算した後にリンゴの値を結びます4に戻ります
    2-3. 右側のsquare関数を呼び出し、パラメータ5を超えます.
    2-4. 5に5を乗じて演算した後、リンゴの値25を返します.
    2-5. 4+25=29出力
  • 文字列「関数呼び出し後」出力
  • 変数は関数のパラメータとして計算された値を返します.この過程に注意してください.
    Pythonは、関数を定義するときにカッコを使用しません.関数定義の範囲は、インデントの深さに基づいて分割されます.そのため、Pythonではインデントが重要です.

    💖 戻り文を正しく理解する


    以前のreturnの実行順序を確認しました.return文の役割は、関数によって値を返すことです.
    上記の例では、square関数を呼び出すことで、変数2を定義関数のパラメータに入れ、2*2を計算する値4を返します.square関数は4に置き換えられ、最終的に4が出力されますよね?
    実際、return文は戻り値のほかに他の役割を果たします.関数をすぐに終了します.この言葉がどういう意味なのか例を見てみましょう.
    def square(x)
        print("함수 시작")
        return x * x
        print("함수 끝")
        
    print(square(2))
    print("Hello!")
    上記のコードの実行順序は次のとおりです.
  • ビットsquare関数を定義する
  • 呼び出し
  • の下のsquare関数
  • ビットsquareパラメータが2ビット
  • を超える
  • 文字列「関数開始」出力
  • 2*2演算後、結リンゴ値4に戻り、関数呼び出し
  • を終了する.
  • 以下のsquare関数呼び出し部4の置換と4出力
  • 文字列「Hello!」出力
  • 上の順番で変なところを見つけましたか?戻り文の後ろにある文字列「関数の終了」には、関数の実行は含まれません.これは、戻り文が関数呼び出しを終了したためです.したがって、文を返す関数は絶対に実行されません.これらのコードをDead Code(無意味なコード)と呼ぶ.

    💖 戻りと印刷の違い



    初めてPythonを学んだときはreturnとprintを混同する人が多いです()いくつかのケースを通じて両者の違いを明確にしましょう.
    def print_square(x):
        print(x * x)
        
    def get_square(x):
        return(x * x)
    上のコードは出力(印刷)パラメータxの二乗の関数であり、下のコードはパラメータxの二乗を返す(返す)関数である.
    print_square(2)
    このコードを実行すると、どの値が出力されますか?パラメータ2をprint square関数に渡すことで、xは2に指定され、関数で2乗2演算が行われるため、4はコンソールに出力される.
    get_square(2)
    今回get square関数を呼び出します.今回、パラメータが2を超え、xは2を指定し、関数は2*2の値を返します.では、関数呼び出し部分は9に置き換えられるのではないでしょうか.ただし、関数呼び出し部が9で置き換えられた後は、コマンドが何も受信されないため、置き換えられた状態で関数は終了することに注意してください.したがって、プログラムは何も出力せずに終了します.
    print(get_square(2))
    このコードを実行すると、どのような結果が得られますか?get sqaureは上記の手順に従い、最後の戻り値4が関数呼び出し部分を置き換えます.重要なのは、今回print関数があったので、最終的にコンソールウィンドウで4を出力することができます.
    print(print_square(2))
    最後に、上のコードを実行しましょう.まずprint square関数を呼び出し、パラメータが2を超えるとコンソールウィンドウに2乗2を計算する4を出力します.ただし、今回は文を返さないため、値を返すことはできません.これで、Noneという名前の値が返されます.したがって、Noneは関数呼び出しセクションを置き換え、最終的にコンソールウィンドウに前に計算した4および次のNoneを出力します.下のようです.
    4
    None

    💖 こうがくパラメータ


    パラメータにデフォルト値(default value)を設定できます.デフォルト値が設定されている場合、関数を呼び出すときにパラメータに値を渡す必要はありません.これらのパラメータは「オプションパラメータ」と呼ばれます.必須でない選択はオプションです
    def myself(name, age, nationality="대한민국"):
        print("제 이름은 {}입니다.".format(name))
        print("나이는 {}살입니다.".format(age))
        print("출신은 {}입니다.".format(nationality))
        
    myself("타키탸키", 27, "독일") # 기본값이 설정된 파라미터 바꾸었을 때
    print()
    myself("타키탸키", 27) # 기본값이 설정된 파라미터를 바꾸지 않았을 때
    上記のコードから分かるように、自分の関数を呼び出すと、パラメータ国籍に入るが、一度も提供されない値が提供されます.出力値を比較しましょうか?
    제 이름은 타키탸키입니다.
    나이는 27살입니다.
    출신은 독일입니다.
    
    제 이름은 타키탸키입니다
    나이는 27살입니다.
    출신은 대한민국입니다.
    パラメータが指定されていない場合は、予め設定された「大韓民国」の値が自動的に入力されます.
    外来パラメータは最後にしなければならないことに注意してください.真ん中に置くとエラーになります😧😧😧
    def myself(name, nationality="대한민국", age):
        print("제 이름은 {}입니다.".format(name))
        print("나이는 {}살입니다.".format(age))
        print("출신은 {}입니다.".format(nationality))

    💖 Synatic Sugar


    「Synatic Sugar」は、一般的な表現を簡略化する文法です.これからもよく見かける表現を、しっかり身につけてほしい!
    x = x + 1
    x += 1	  ## synatic sugar	
    x = x * 2
    x *= 2	  ## synatic sugar
    x = x - 3
    x -= 3	  ## synatic sugar
    x = x / 4
    x /= 4	  ## synatic sugar
    x = x % 5
    x %= 5	  ## synatic sugar
    この授業では、Pythonの変数と関数の実行順序、print()文とreturn文の違い、入力パラメータ、Synatic Sugarについて学びました.関数が主に見えない場所でどのように動作しているかを理解した.次に、Pythonの抽象を見てみましょう.
    * 이 자료는 CODEIT의 프로그래밍 기초 in Python 강의를 기반으로 작성되었습니다.