Python Language関数


前書き

Pythonの関数は、一連の特定のアクションを実行するための、組織化された再利用可能なモジュラーコードを提供します。関数はコーディングプロセスを簡素化し、冗長ロジックを防止し、コードを簡単にフォローします。このトピックでは、Pythonでの関数の宣言と利用について説明します。

Pythonには、 print()input()len()などの組み込み関数が多数あります。組み込み関数の他に、独自の関数を作成してより特定のジョブを実行することもできます。これはユーザー定義関数と呼ばれます

構文

  • def function_namearg1、... argN、* args、kw1、kw2 =デフォルト、...、** kwargs ): ステートメント
  • ラムダarg1、... argN、* args、kw1、kw2 =デフォルト、...、** kwargs

パラメーター

パラメータ詳細
arg1 、...、 argN 通常の議論
* args 無名の定位置引数
kw1 、...、 kwN キーワードのみの引数
** kwargs 残りのキーワード引数

備考

関数でできる5つの基本的なこと:

  • 変数に関数を割り当てる

    def f():
      print(20)
    y = f
    y()
    # Output: 20
    
  • 他の関数内の関数を定義する( 入れ子関数

    def f(a, b, y):
        def inner_add(a, b):      # inner_add is hidden from outer code
            return a + b
        return inner_add(a, b)**y
    
  • 関数は他の関数を返すことができる

    def f(y):
        def nth_power(x):
            return x ** y
        return nth_power    # returns a function
    
    squareOf = f(2)         # function that returns the square of a number           
    cubeOf = f(3)           # function that returns the cube of a number
    squareOf(3)             # Output: 9
    cubeOf(2)               # Output: 8
    
  • 関数は他の関数にパラメータとして渡すことができます

    def a(x, y):
        print(x, y)
    def b(fun, str):        # b has two arguments: a function and a string 
        fun('Hello', str)
    b(a, 'Sophia')           # Output: Hello Sophia
    
  • 内部関数は、囲みスコープ( Closure )にアクセスできます。

    def outer_fun(name):
        def inner_fun():     # the variable name is available to the inner function
            return "Hello "+ name + "!"
        return inner_fun
    greet = outer_fun("Sophia")
    print(greet())            # Output: Hello Sophia!
    

その他のリソース

関数 関連する例