関数を呼び出す方法 Python (例)

⚡ スマートサマリー

の機能 Python 関数は、def文で定義され、呼び出されると実行される再利用可能なコードブロックです。引数を受け取り、値を返し、各関数に属するステートメントをグループ化するために一貫したインデントに依存します。

  • 🧩 定義文: 関数は、def、名前、括弧、そしてインデントされたステートメントブロックの開始を示すコロンによって定義されます。
  • 📞 関数の呼び出し: 関数名の後に括弧を付けて記述すると、その関数のコードが実行されるため、同じロジックを何度も再利用できます。
  • 特選割️ インデント: Python 関数本体を括弧ではなく一貫したインデントでグループ化するため、スペースが欠落すると IndentationError が発生します。
  • 🎯 引数: 括弧内に渡された値はパラメータとなり、デフォルト値やキーワード引数によって各呼び出しの柔軟性が高まります。
  • ↩️ 戻り値: return文は呼び出し元に結果を返します。return文がない場合、関数はNoneを返します。
  • 🤖 AI支援: GitHub CopilotのようなAIアシスタントは、短いプロンプトから関数の骨組み、引数、およびドキュメント文字列を生成します。

関数を呼び出す方法 Python

機能とは何か Python?

A 機能で Python は、参照されたときに実行されるコードの一部です。プログラム内の複数の場所で同じコードを利用するために使用されます。メソッドまたはプロシージャとも呼ばれます。 Python print()、input()、compile()、exec()などの多くの組み込み関数を提供するだけでなく、独自の関数を作成する自由も与えてくれます。

関数の定義と呼び出し方法 Python

関数 Python は「def」ステートメントに続いて関数名と括弧(())によって定義されます。

例:

コマンド「def func1():」を使って関数を定義し、その関数を呼び出してみましょう。関数の出力は「I am learning」となります。 Python 関数"。

関数の定義と呼び出し Python

関数呼び出し func1() は、def func1(): を呼び出し、「I am learning」というコマンドを出力します。 Python 機能なし。

ルールがあります Python プログラミング 関数を定義します。

  • 引数や入力パラメータはすべて、これらの括弧内に記述してください。
  • 関数の最初のステートメントは、オプションのステートメント(関数のドキュメント文字列)にすることができます。
  • すべての関数内のコードはコロン(:)で始まり、インデント(スペース)する必要があります。
  • `return (式)` 文は関数を終了し、必要に応じて呼び出し元に値を返します。引数のない `return` 文は `return None` と同じです。

インデント(スペース)の重要性 Python

慣れる前に Python 関数を宣言する際のインデントルールを理解することが重要です Python 関数、そしてこれらのルールは他の要素にも適用されます Python 条件、ループ、変数の宣言なども同様です。

Python コードを定義するために特定のインデントスタイルに従います。 Python 関数には、関数の開始と終了を示す波括弧のような明示的な開始または終了はありません。関数はこのインデントに頼る必要があります。ここでは、「print」コマンドを使った簡単な例を見てみましょう。「print」関数を「def func1():」行のすぐ下に記述すると、「インデントエラー: インデントされたブロックが必要です」というエラーが表示されます。

関数の定義と呼び出し Python

これで、「print」関数の前にインデント(スペース)を追加すると、期待どおりに印刷されるはずです。

関数の定義と呼び出し Python

コードが正常に動作するためには、少なくとも1つのインデントがあれば十分です。しかし、ベストプラクティスとしては、関数を呼び出す際に3~4スペース程度のインデントを空けることをお勧めします。

インデントを宣言する際には、コードの残りの部分でも同じインデントを維持することが必要です。たとえば、以下のスクリーンショットでは、「still in func1」という別のステートメントを呼び出し、それが最初のprintステートメントのすぐ下に宣言されていない場合、「unindent が他のどのインデントレベルとも一致しません」というインデントエラーが表示されます。

関数の定義と呼び出し Python

ここで、両方の文に同じインデントを適用し、同じ行に揃えると、期待どおりの出力が得られます。

関数の定義と呼び出し Python

関数の戻り値はどのようにするのでしょうか?

リターンコマンド Python これは、関数呼び出し元に返す値を指定します。次の例でこれを理解しましょう。

ステップ 1) 関数は何も返しません

ここでは、関数が「戻り値」を返さない例を見てみましょう。例えば、4の2乗を求めたい場合、コードを実行すると「16」という答えが返されるはずです。単純に「print x*x」というコードを使えば16という答えが得られますが、「print square」という関数を呼び出すと「None」が出力されます。これは、関数を呼び出したときに再帰処理が行われず、関数の末尾で処理が終了してしまうためです。 Python 関数の末尾から外れた場合は「None」を返します。

関数の定義と呼び出し Python

ステップ2)印刷コマンドを代入コマンドに置き換える

これをより分かりやすくするために、printコマンドを代入コマンドに置き換えてみましょう。出力結果を確認してみましょう。

関数の定義と呼び出し Python

「print square (4)」コマンドを実行すると、実際にはオブジェクトの値が返されます。ここでは実行すべき特定の関数がないため、「None」が返されます。

ステップ3)「return」関数を使用してコードを実行します。

それでは、ここでは「return」コマンドを使用して出力を取得する方法を見ていきましょう。「return」関数を使用してコードを実行すると、「16」という出力が得られます。

関数の定義と呼び出し Python

ステップ4) コマンド「print square」を実行します。

の機能 Python それ自体がオブジェクトであり、オブジェクトには何らかの値があります。ここでは、 Python オブジェクトを扱います。「print square」コマンドを実行すると、オブジェクトの値が返されます。引数を渡していないため、ここで実行する特定の関数はなく、オブジェクトの場所であるデフォルト値(0x021B2D30)が返されます。 Python このプログラムでは、おそらくこれを行う必要はまずないでしょう。

関数の定義と呼び出し Python

関数の引数

引数とは、関数が呼び出されたときに渡される値のことです。

言い換えれば、呼び出し側では引数であり、関数側ではパラメータである。

どのように見てみましょう Python 議論は有効だ。

ステップ1) 引数は関数定義の中で宣言されます。関数を呼び出す際に、以下に示すように、これらの引数に値を渡すことができます。

関数の定義と呼び出し Python

ステップ2) 引数にデフォルト値を設定するには、関数定義時に値を割り当てます。

関数の定義と呼び出し Python

例: x にはデフォルト値がありません。y のデフォルト値は 0 です。乗算関数を呼び出すときに引数を 1 つだけ指定すると、 Python 指定された値を x に割り当て、ping yの値は0です。したがって、x*yの積は0になります。

関数の定義と呼び出し Python

ステップ3) 今回はデフォルト値のy=0ではなくy=2に変更すると、出力は(4×2)=8となります。

関数の定義と呼び出し Python

ステップ4) 引数の渡される順序も変更できます Pythonここでは、xとyの値の順序を逆にして、x=4、y=2としました。

関数の定義と呼び出し Python

ステップ5) 複数の引数は配列として渡すこともできます。この例では、(*args) 関数を呼び出すことで、複数の引数 (1,2,3,4,5) を呼び出しています。

例: 複数の引数を数値 (1,2,3,4,5) として宣言しました。(*args) 関数を呼び出すと、出力は (1,2,3,4,5) と表示されます。

関数の定義と呼び出し Python

ヒント:

  • In Python 2.7では、関数オーバーロードはサポートされていません。関数オーバーロードとは、異なる実装を持つ同じ名前の複数のメソッドを作成する機能です。関数オーバーロードは完全にサポートされています。 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)

よくあるご質問

はい。 A Python 関数は、returnキーワードの後に​​カンマで区切って複数の値を返すことができます。 Python それらをタプルにパックし、呼び出し元はそれを個別の変数に展開できます。たとえば、a、b = func()。

*args は追加の位置引数をタプルにまとめ、**kwargs は追加のキーワード引数を辞書にまとめます。どちらも関数が可変個の入力を受け入れることを可能にしますが、args と kwargs という名前は慣例であり、必須ではありません。

ドキュメンテーション文字列(docstring)は、関数内の最初のステートメントとして記述される文字列リテラルで、関数の動作を説明するものです。三重引用符で囲まれ、実行時に関数の __doc__ 属性または help() 関数を通して読み取ることができます。

ラムダ式は、def の代わりに lambda キーワードを使用して 1 行で定義される小さな匿名関数です。map()、filter()、sorted() などの関数に渡される、短く使い捨てのロジックに適しています。 ラムダ関数 ガイド。

はい。自身を呼び出す関数は再帰関数です。再帰は、階乗のように、より小さく類似した部分問題に分解できる問題を解決します。すべての再帰関数には、呼び出しを停止する基本ケースが必要です。 Python RecursionError が発生します。

ローカル変数は関数内で作成され、その関数が実行されている間だけ存在します。グローバル変数はすべての関数の外で定義され、どこからでも参照できます。関数内でグローバル変数を変更するには、まずglobalキーワードを使用して宣言する必要があります。

GitHub Copilot は、関数名または短いコメントから、パラメータ、戻り値、ドキュメント文字列を含む完全な関数本体を提案します。また、エッジケースの処理とテストも提案するため、型定義ではなくロジックに集中できます。ping 定型的な定義ブロック。

関数は、AIや機械学習のコードを、データの読み込み、前処理、トレーニング、評価といった再利用可能なステップに整理します。これにより、実験の可読性とテスト容易性が向上し、TensorFlowやscikit-learnといったフレームワークは、呼び出し可能な分かりやすい名前の関数を通して、その動作のほとんどを公開します。