Python 関数
Python 関数
この記事では、関数、関数とは何か、構文、コンポーネント、および関数の種類について学習します。また、Python で関数を作成する方法も学びます。
ビデオ:Python 関数の紹介
Python の関数とは?
Python では、関数は特定のタスクを実行する関連ステートメントのグループです。
関数は、プログラムをより小さなモジュラー チャンクに分割するのに役立ちます。私たちのプログラムがどんどん大きくなるにつれて、機能によってプログラムがより整理され、管理しやすくなります。
さらに、繰り返しを回避し、コードを再利用可能にします。
関数の構文
def function_name(parameters): """docstring""" statement(s)
上記は、次のコンポーネントで構成される関数定義です。
<オール>def
関数ヘッダーの開始を示します。return
関数から値を返すステートメント関数の例
def greet(name):
"""
This function greets to
the person passed in as
a parameter
"""
print("Hello, " + name + ". Good morning!")
Python で関数を呼び出す方法
関数を定義したら、別の関数、プログラム、または Python プロンプトからでも呼び出すことができます。関数を呼び出すには、関数名と適切なパラメーターを入力するだけです。
>>> greet('Paul')
Hello, Paul. Good morning!
関数定義を使用して Python プログラムで上記のコードを実行し、出力を確認してください。
def greet(name):
"""
This function greets to
the person passed in as
a parameter
"""
print("Hello, " + name + ". Good morning!")
greet('Paul')
注意 :Python では、関数定義は常に関数呼び出しの前に存在する必要があります。そうしないと、エラーが発生します。たとえば、
# function call
greet('Paul')
# function definition
def greet(name):
"""
This function greets to
the person passed in as
a parameter
"""
print("Hello, " + name + ". Good morning!")
# Erro: name 'greet' is not defined
Docstring
関数ヘッダーの後の最初の文字列は docstring と呼ばれ、ドキュメント文字列の略です。関数の機能を説明するために簡単に使用されます。
オプションではありますが、ドキュメンテーションは優れたプログラミング手法です。先週の夕食を思い出せない場合を除き、常にコードを文書化してください。
上記の例では、関数ヘッダーのすぐ下に docstring があります。通常、docstring を複数行に拡張できるように、三重引用符を使用します。この文字列は __doc__
として利用できます 関数の属性。
例 :
以下を Python シェルで実行して、出力を確認してください。
>>> print(greet.__doc__)
This function greets to
the person passed in as
a parameter
Python の docstring の詳細については、Python Docstrings をご覧ください。
return ステートメント
return
ステートメントは、関数を終了し、それが呼び出された場所に戻るために使用されます。
リターンの構文
return [expression_list]
このステートメントには、評価されて値が返される式を含めることができます。ステートメントまたは return
に式がない場合 ステートメント自体が関数内に存在しない場合、関数は None
を返します オブジェクト。
例:
>>> print(greet("May"))
Hello, May. Good morning!
None
ここでは、None
greet()
以降の戻り値です 名前を直接出力し、 return
は表示しません ステートメントが使用されています。
返品の例
def absolute_value(num):
"""This function returns the absolute
value of the entered number"""
if num >= 0:
return num
else:
return -num
print(absolute_value(2))
print(absolute_value(-4))
出力
2 4
関数は Python でどのように機能しますか?
<図>変数のスコープと有効期間
変数のスコープは、変数が認識されるプログラムの部分です。関数内で定義されたパラメーターと変数は、関数の外からは見えません。したがって、それらにはローカル スコープがあります。
変数の有効期間は、変数がメモリ内に存在する期間です。関数内の変数の有効期間は、関数が実行される限りです。
関数から戻ると、それらは破棄されます。したがって、関数は以前の呼び出しからの変数の値を覚えていません。
関数内の変数のスコープを示す例を次に示します。
def my_func():
x = 10
print("Value inside function:",x)
x = 20
my_func()
print("Value outside function:",x)
出力
Value inside function: 10 Value outside function: 20
ここで、x の値が 最初は20です。関数 my_func()
にもかかわらず x の値を変更しました 10 まで、関数外の値には影響しませんでした。
これは、変数 x 関数の内部は、外部のものとは (関数に対してローカルに) 異なります。名前は同じですが、スコープが異なる 2 つの異なる変数です。
一方、関数外の変数は内部から見えます。グローバル スコープを持っています。
関数内からこれらの値を読み取ることはできますが、変更 (書き込み) することはできません。関数の外で変数の値を変更するには、キーワード global
を使用してグローバル変数として宣言する必要があります。 .
関数の種類
基本的に、関数は次の 2 つのタイプに分けることができます。
<オール>Python