python 3関数パラメータ
3337 ワード
Python関数パラメータ
通常位置パラメータ
何も言うことはありませんが、普段はこれを使っているので、位置が変えられないことに注意してください.
既定のパラメータ
def enroll(name, gender, age=6, city='Beijing'):
pass
可変パラメータ
可変パラメータを使用すると、0つまたは任意のパラメータを入力できます.これらの可変パラメータは、関数呼び出し時に自動的にtupleに組み込まれます.
def calc(*numbers):
pass
nums = [1, 2, 3]
calc(*nums)
キーワードパラメータ
キーワードパラメータを使用すると、0つまたは任意のパラメータ名を含むパラメータを入力できます.これらのキーワードパラメータは、関数内で自動的にdictに組み立てられます.
この関数を呼び出すと、必須パラメータのみを入力できます.
def person(name, age, **kw):
print('name:', name, 'age:', age, 'other:', kw)
person('Michael', 30)
person('Adam', 45, gender='M', job='Engineer')
extra = {'city': 'Beijing', 'job': 'Engineer'}
person('Jack', 24, **extra)
キーワードパラメータの命名
名前付きキーワードパラメータには、名前付きキーワードパラメータとして扱われる特殊な区切り記号
*
*
の後のパラメータが必要です.呼び出し方法は次のとおりです.
>>> person('Jack', 24, city='Beijing', job='Engineer')
Jack 24 Beijing Engineer
関数定義に可変パラメータが既に存在する場合、後に続く名前付きキーワードパラメータには、特別な区切り記号
*
は必要ありません.def person(name, age, *args, city, job):
print(name, age, args, city, job)
名前付きキーワードパラメータは、位置パラメータとは異なり、パラメータ名を入力する必要があります.パラメータ名が入力されていない場合、呼び出しはエラーを報告します.
名前付きキーワードパラメータにはデフォルト値があり、呼び出しを簡略化できます.
def person(name, age, *, city='Beijing', job):
print(name, age, city, job)