関数を呼び出す方法 Python (例)
機能とは何か Python?
A 機能で Python 参照されると実行されるコードです。プログラム内の複数の場所でコードを利用するために使用されます。メソッドまたはプロシージャとも呼ばれます。 Python print()、input()、compile()、exec() などの多くの組み込み関数を提供しますが、独自の関数を作成する自由も与えられます。
関数の定義と呼び出し方法 Python
機能で Python によって定義されます。 「デフ」 ステートメントの後に関数名と括弧 ( () ) が続きます。
例:
コマンド「def func1():」を使用して関数を定義し、その関数を呼び出してみましょう。 関数の出力は次のようになります "私は学んでいます Python 関数"。
関数 プリント関数1() def func1(): を呼び出し、コマンドを出力します。 私は学んでいます Python 機能なし。「
ルールはいくつかある Python 関数を定義します。
- 引数または入力パラメータはこれらの括弧内に置く必要があります
- 関数の最初のステートメントは、オプションのステートメント (docstring または関数のドキュメント文字列) にすることができます。
- すべての関数内のコードはコロン (:) で始まり、インデント (スペース) する必要があります。
- ステートメント return (式) は関数を終了し、オプションで呼び出し元に値を返します。 引数のない return ステートメントは return None と同じです。
インデント(スペース)の重要性 Python
詳しく知る前に Python 関数を宣言する際のインデントルールを理解することが重要です Python 機能とこれらのルールは、 Python 条件、ループ、変数の宣言も同様です。
Python コードを定義するために特定のインデントスタイルに従います。 Python 関数には、関数の開始と終了を示す中括弧のような明示的な開始や終了がないため、このインデントに頼る必要があります。。 ここでは、「print」コマンドを使用した簡単な例を取り上げます。 def func 1 () の直下に「print」関数を書くと、「」と表示されます。インデント エラー: インデントされたブロックが予期されました"
ここで、「print」関数の前にインデント (スペース) を追加すると、期待どおりに印刷されるはずです。
コードを正常に動作させるには、少なくとも 3 つのインデントで十分です。 ただし、ベスト プラクティスとして、関数を呼び出すために 4 ~ XNUMX 個のインデントを残すことをお勧めします。.
インデントを宣言する際には、次のことも必要です。 コードの残りの部分でも同じインデントを維持します。 たとえば、以下のスクリーン ショットでは、別のステートメントを「まだ func1 にある」と呼び出し、それが最初の print ステートメントのすぐ下で宣言されていない場合、インデント エラーが表示されます。 「unindent は他のインデント レベルと一致しません。」
ここで、両方のステートメントに同じインデントを適用し、それらを同じ行に配置すると、期待どおりの出力が得られます。
関数の戻り値はどのようにするのでしょうか?
戻りコマンド Python 関数の呼び出し元に返す値を指定します。次の例でこれを理解しましょう。
ステップ 1) 関数は何も返しません
ここで、関数が「return」ではないことがわかります。たとえば、4 の平方を求める場合、コードを実行すると「16」という答えが返されるはずです。これは、単に「print x*x」コードを使用すると返されますが、「print square」関数を呼び出すと、出力として「None」が返されます。これは、関数を呼び出すと再帰が起こらず、関数の最後で終了するためです。 Python 関数の最後で失敗した場合は「None」を返します。
ステップ2) printコマンドをassignコマンドに置き換えます。
これを明確にするために、print コマンドを assign コマンドに置き換えます。 出力を確認してみましょう。
コマンド「print square (4)」を実行すると、実行する特定の関数がないため、実際にはオブジェクトの値が返され、「None」が返されます。
ステップ 3) 「return」関数を使用してコードを実行する
ここで、「return」コマンドを使用して出力を取得する方法を見てみましょう。 「return」関数を使用してコードを実行すると、出力は「16」になります。
ステップ4) コマンド「print square」を実行します。
の機能 Python それ自体がオブジェクトであり、オブジェクトには何らかの値があります。ここでは、 Python オブジェクトを扱います。コマンド「print square」を実行すると、オブジェクトの値が返されます。引数を渡していないため、ここで実行する特定の関数はなく、オブジェクトの場所であるデフォルト値 (0x021B2D30) が返されます。 実践的には Python プログラムでは、おそらくこれを行う必要はないでしょう。
関数の引数
引数は、関数が呼び出されたときに関数に渡される値です。
つまり、呼び出し側では引数、関数側ではパラメータになります。
どのように Python Argsは動作します –
ステップ1) 引数は関数定義で宣言されます。 関数を呼び出すときに、以下に示すようにその引数の値を渡すことができます。
ステップ2) 引数のデフォルト値を宣言するには、関数定義時に値を割り当てます。
例: xにはデフォルト値はありません。yのデフォルト値は0です。乗算関数を呼び出すときに引数をXNUMXつだけ指定すると、 Python 与えられた値をxに代入し、y=0の値はそのままにします。したがって、x*y=0の乗算は
ステップ3) 今回は、値をデフォルト値 y=2 の代わりに y=0 に変更し、(4×2)=8 として出力を返します。
ステップ4) 引数を渡す順序を変更することもできます Pythonここでは、値 x と y の順序を逆にして、x=4、y=2 としています。
ステップ5) 複数の引数を配列として渡すこともできます。 この例では、(*args) 関数を呼び出して複数の引数 (1,2,3,4,5) を呼び出します。
例: (*args) 関数を呼び出すときに、複数の引数を数値 (1,2,3,4,5) として宣言しました。 出力は (1,2,3,4,5) として出力されます。
ヒント:
- In Python 2.7. 関数のオーバーロード サポートされていません Python関数オーバーロードは、同じ名前で異なる実装の複数のメソッドを作成する機能です。関数オーバーロードは、 Python 3
- メソッドと関数の間には混乱が見られます。 Python 関数はオブジェクトインスタンスに関連付けられていませんが、 Python メソッドを呼び出すと、その呼び出しの最初のパラメータを適切なオブジェクト参照にバインドします。簡単に言えば、 Python は「関数」ですが、クラスまたはインスタンスの属性である関数は「メソッド」です。
これが完全です Python 3コード
#define a function def func1(): print ("I am learning Python function") print ("still in func1") func1() def square(x): return x*x print(square(4)) def multiply(x,y=0): print("value of x=",x) print("value of y=",y) return x*y print(multiply(y=2,x=4))
これが完全です Python 2コード
#define a function def func1(): print " I am learning Python function" print " still in func1" func1() def square(x): return x*x print square(4) def multiply(x,y=0): print"value of x=",x print"value of y=",y return x*y print multiply(y=2,x=4)
まとめ
機能で Python は、単一の関連するアクションを実行するために使用される再利用可能なコードです。この記事では、
- によって定義された関数 def ステートメント
- すべての関数内のコード ブロックはコロン (:) で始まり、インデント (スペース) する必要があります。
- 引数または入力パラメータはこれらの括弧内に置く必要があります。
- 関数を宣言した後、コードの前に少なくとも XNUMX つのインデントを残す必要があります。
- def 関数内のコード全体で同じインデント スタイルを維持する必要があります。
- ベスト プラクティスとしては、ステートメントの前に XNUMX つまたは XNUMX つのインデントが最適であると考えられます。
- 「return」コマンドを使用すると、関数呼び出しに値を返すことができます。
- Python 呼び出し関数に引数が指定されていない場合は、(0x021B2D30) のようなランダムな値を出力します。例: 「print function」
- 呼び出し側では引数、関数側ではパラメータになります。
- 引数のデフォルト値 – 乗算関数やその他の関数を呼び出すときに引数を1つだけ指定すると、 Python デフォルトで他の引数を割り当てる
- Python 引数の順序を逆にすることもできます