Python関数入門
10724 ワード
Pythonでの関数は何ですか?
Pythonでは、関数は特定のタスクを行う関連ステートメントのグループです.
関数は、より合理化され、組織化されたプログラミングを行うPythonでより小さなコードの塊を作成するために使用されます.このため、コードは他の人がそれを見る人に理解できます.最も重要なことに、関数はコードを反復的にし、再利用性を高める.
def function_name(parameters):
"""docstring"""
statement(s)
上の例を使う例
def greet(name):
"""
This function greets to
the person passed in as
a parameter
"""
print("Hello, " + name + ". Good morning!")
Pythonでの関数の呼び出し
Python関数を定義した後、別の関数、Pythonプロンプトまたは別のプログラムから呼び出すことができます.
関数名とパラメータを呼び出して呼び出します.
>>>greet('Morris')
Hello, Morris. Good morning!
完全な機能とその呼び出し;def greet(name):
"""
This function greets to
the person passed in as
a parameter
"""
print("Hello, " + name + ". Good morning!")
greet('Morris')
出力Hello, Morris. Good morning!
docstring
ドキュメンテーション文字列またはdocstringは関数ヘッダの最初の文字列です.特定の関数が何をするかは詳細です.それはオプションですが、高く推奨されます.複数の行にまたがるように、docstringを有効にするために三重引用符を使用します.
返り値
関数を終了し、それが呼び出されたw hereverに戻るために使用します.
return [expression_list]
return文には、評価された値を返す式を含めることができます.ステートメント内に式がない場合、あるいはreturn文自体が関数内に存在しない場合、この関数はNoneオブジェクトを返します.例
>>> print(greet("May"))
Hello, May. Good morning!
None
ここで、Noneは直接値を出力するので、Noneは返された値です.リターンの例
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 greet(name, msg):
"""This function greets to
the person with the provided message"""
print("Hello", name + ', ' + msg)
greet("Monica", "Good morning!")
出力Hello Monica, Good morning!
ここで関数greet ()は2つのパラメータを持ちます.引数を別の数で呼び出すと、インタプリタはエラーメッセージを表示します.以下の関数は、それぞれのエラーメッセージと共に引数なしで引数を指定します
>>> greet("Monica") # only one argument
TypeError: greet() missing 1 required positional argument: 'msg'
>>> greet() # no arguments
TypeError: greet() missing 2 required positional arguments: 'name' and 'msg'
可変関数引数
変数の数を取ることができる関数を定義する他の方法があります.
Pythonデフォルト引数
代入演算子(=)を使用して引数に既定値を指定できます.
def greet(name, msg="Good morning!"):
"""
This function greets to
the person with the
provided message.
If the message is not provided,
it defaults to "Good
morning!"
"""
print("Hello", name + ', ' + msg)
greet("Kate")
greet("Bruce", "How do you do?")
出力Hello Kate, Good morning!
Hello Bruce, How do you do?
この関数では、パラメーター名は既定値を持たず、呼び出し中に必須(必須)です.一方、パラメータMSGには「グッドモーニング」というデフォルト値が設定されている.したがって、呼び出し中にオプションです.値が与えられるならば、それはデフォルト値を上書きします.
関数の引数の数はデフォルト値を持つことができます.しかし、一旦デフォルト引数があるならば、その右のすべての引数もデフォルト値を持たなければなりません.
つまり、デフォルトでない引数はデフォルト引数には対応できません.例えば、上記の関数ヘッダを定義しているなら、
def greet(msg = "Good morning!", name):
以下のようにエラーが発生します:SyntaxError: non-default argument follows default argument
Pythonキーワード引数
いくつかの値を持つ関数を呼び出すとき、これらの値はその位置に応じて引数に割り当てられます.
例えば、上記の関数greet ()では、greetと呼んでいます("Bruce ", "How do do ??)"値“bruce”は引数名に割り当てられます.を返します.
Pythonはキーワード引数を使用して関数を呼び出すことができます.このように関数を呼び出すと、引数の順序(位置)を変更できます.上記の関数の呼び出しは、すべて有効です.
# 2 keyword arguments
greet(name = "Bruce",msg = "How do you do?")
# 2 keyword arguments (out of order)
greet(msg = "How do you do?",name = "Bruce")
1 positional, 1 keyword argument
greet("Bruce", msg = "How do you do?")
関数呼び出し中に引数をキーワード引数と混ぜることができます.しかし、キーワード引数が位置引数に従わなければならないことを心に留めておかなければなりません.キーワード引数の後に位置引数を持つとエラーになります.例えば、以下の関数呼び出しを行います.
greet(name="Bruce","How do you do?")
を返します.SyntaxError: non-keyword arg after keyword arg
Python任意引数
時々、関数に渡される引数の数を事前に知りません.Pythonでは、任意の数の引数を持つ関数呼び出しを通じてこの種の状況を処理できます.
関数定義では、引数の前にアスタリスク(*)を使用して引数の種類を示します.以下が例です.
def greet(*names):
"""This function greets all
the person in the names tuple."""
# names is a tuple with arguments
for name in names:
print("Hello", name)
greet("Monica", "Luke", "Steve", "John")
出力Hello Monica
Hello Luke
Hello Steve
Hello John
関数を複数の引数で呼びました.これらの引数は関数に渡される前にタプルにラップされます.関数の内部では、forループを使用してすべての引数を返します.Reference
この問題について(Python関数入門), 我々は、より多くの情報をここで見つけました https://dev.to/mulitu/introduction-to-python-functions-40apテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol