Pythonでは、関数がdef
キーワードを使用して定義され、その後、関数名、パラメーターを含む可能性のある括弧のセット、およびコロンが続きます。関数が実行されるステートメントを含む関数の本体は、定義行の下にインデントされます。関数を定義する方法の簡単な例を次に示します。
<code class="python">def greet(name): """ This function greets the person passed in as a parameter """ print("Hello, " name ". Good morning!")</code>
この例では、 greet
は関数名で、 name
はパラメーターです。関数は、呼び出されたときにグリーティングメッセージを印刷します。トリプルの引用には、関数、クラス、またはモジュールの定義で最初のステートメントとして発生する文字列である文字列であるドキュストリングが含まれており、関数の文書化に使用されます。
Pythonでは、以下を含むいくつかのタイプの関数を作成できます。
print()
、 len()
、 sum()
など、pythonで事前に定義されている関数です。これらは、ユーザーがインポートまたは定義する必要なく使用できます。匿名関数(Lambda関数) :これらは、 lambda
キーワードを使用して定義された小さくて匿名の関数です。通常、短期操作に使用されます。例えば:
<code class="python">square = lambda x: x ** 2 print(square(5)) # Output: 25</code>
再帰関数:これらは、ますます小さな部分に分解することで問題を解決するために自分自身を呼び出す関数です。以下は、要因を計算する再帰関数の基本的な例です。
<code class="python">def factorial(n): if n == 0: return 1 else: return n * factorial(n-1)</code>
ジェネレーター関数:これらは、反復時に値のシーケンスを生成するイテレーターを返す特別なタイプの関数です。ジェネレーターは通常の関数のように定義されていますが、 return
の代わりにyield
ステートメントを使用します。例えば:
<code class="python">def infinite_sequence(): num = 0 while True: yield num num = 1</code>
Pythonでは、議論はいくつかの方法で関数に渡すことができます。
位置的引数:これらは最も一般的なタイプの引数であり、関数呼び出しの引数の順序は、関数定義のパラメーターの順序と一致する必要があります。
<code class="python">def describe_pet(animal_type, pet_name): print(f"I have a {animal_type}.") print(f"My {animal_type}'s name is {pet_name}.") describe_pet('dog', 'Rex')</code>
キーワード引数:パラメーター名で引数を指定することができます。これにより、コードをより読みやすくし、多くのパラメーターがある場合にエラーを回避できます。
<code class="python">describe_pet(pet_name='Rex', animal_type='dog')</code>
デフォルトの引数:パラメーターのデフォルト値を設定できます。これは、これらの引数なしで関数が呼び出された場合に使用されます。
<code class="python">def describe_pet(pet_name, animal_type='dog'): print(f"I have a {animal_type}.") print(f"My {animal_type}'s name is {pet_name}.") describe_pet('Rex') # Here, 'dog' will be used as the default value for animal_type</code>
任意の引数リスト:関数にいくつの引数が渡されるかわからない場合は、keorwordの引数に*args
を使用し、 **kwargs
キーワード引数に使用できます。
<code class="python">def print_all(*args): for arg in args: print(arg) print_all(1, 2, 3, 'hello', 'world')</code>
Pythonのreturn
ステートメントは、関数の実行を終了し、関数から発信者に値を返すために使用されます。 return
ステートメントの目的には以下が含まれます。
値を返す:関数が結果を計算し、関数と呼ばれるコードに渡すことを可能にします。
<code class="python">def add_numbers(a, b): return ab result = add_numbers(3, 4) # result will be 7</code>
終了関数の実行: return
れた場合、関数はすぐに終了し、関数内のさらなるコードは実行されません。これは、条件に基づいて早期の出口に役立ちます。
<code class="python">def divide(a, b): if b == 0: return "Error: Division by zero" return a / b</code>
複数の値を返す:Pythonでは、複数の値をタプルとして返すことができます。これにより、関数から複数の結果を返すことができます。
<code class="python">def min_max(numbers): return min(numbers), max(numbers) min_val, max_val = min_max([1, 2, 3, 4, 5]) # min_val = 1, max_val = 5</code>
return
ステートメントを使用することにより、関数はデータを処理し、プログラムの他の部分に結果を提供できるため、より柔軟で強力になります。
以上がPythonで関数をどのように定義しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。