Pythonの抽象
前回の授業ではPythonのキーデータ型を紹介しました.データ型を学習し、データをどのような形式で格納し、利用するかを理解します.次に、抽象を見てみましょう.コードをより簡潔に、より簡潔に書くのに役立ちます.
このコードの上に「x=5」という変数が宣言されている場合、コードの右側の部分のみを表示すると、変数xには5という数字6が含まれ、6は左側のxに格納されます.
もう一度、Pythonで等号の意味は「等しい」ではなく、「左側変数に右側の値を指定する」ことを忘れないでください.
文字列「関数呼び出し前」出力 呼び出し hello関数
2-1. 文字列「Hello!」しゅつりょく
2-2. 文字列「It's a nice day!」出力 文字列「関数呼び出し後」出力 今回はこのコードの順番を見てみましょう.文字列「関数呼び出し前」出力 計算かっこ内の演算
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文は戻り値のほかに他の役割を果たします.関数をすぐに終了します.この言葉がどういう意味なのか例を見てみましょう.ビットsquare関数を定義する 呼び出しの下のsquare関数 ビットsquareパラメータが2ビット を超える文字列「関数開始」出力 2*2演算後、結リンゴ値4に戻り、関数呼び出し を終了する.以下のsquare関数呼び出し部4の置換と4出力 文字列「Hello!」出力 上の順番で変なところを見つけましたか?戻り文の後ろにある文字列「関数の終了」には、関数の実行は含まれません.これは、戻り文が関数呼び出しを終了したためです.したがって、文を返す関数は絶対に実行されません.これらのコードをDead Code(無意味なコード)と呼ぶ.
初めてPythonを学んだときはreturnとprintを混同する人が多いです()いくつかのケースを通じて両者の違いを明確にしましょう.
パラメータにデフォルト値(default value)を設定できます.デフォルト値が設定されている場合、関数を呼び出すときにパラメータに値を渡す必要はありません.これらのパラメータは「オプションパラメータ」と呼ばれます.必須でない選択はオプションです
外来パラメータは最後にしなければならないことに注意してください.真ん中に置くとエラーになります😧😧😧
「Synatic Sugar」は、一般的な表現を簡略化する文法です.これからもよく見かける表現を、しっかり身につけてほしい!
💖 変数を正しく理解する
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("함수 호출 후")
上のコードはどのような順序で実行されますか?コードの上部は関数を定義する部分であるため、この関数は実行されません.したがって、コードの下部から実行します.関数呼び出しは、関数実行と同じ意味であることに注意してください.コードの実行順序は次のとおりです.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!")
上記のコードの実行順序は次のとおりです.💖 戻りと印刷の違い
初めて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 강의를 기반으로 작성되었습니다.
Reference
この問題について(Pythonの抽象), 我々は、より多くの情報をここで見つけました https://velog.io/@tataki26/추상화-in-Pythonテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol