***
19343 ワード
関数のパラメータには、形式パラメータ(parameter)、実際のパラメータ(argument)、デフォルトパラメータ、キーワードパラメータ、可変パラメータ(収集パラメータ)の概念が含まれます.
二、キーワードパラメータ(呼び出し時)注意:位置パラメータと混用する場合は、キーワードパラメータを後ろに置く
三、デフォルトパラメータ(定義時)
四、可変パラメータ(収集パラメータ)print,min,maxは典型的な可変パラメータである
可変パラメータには、1つの関数に可変パラメータのほかに他のパラメータがある場合、可変パラメータと他のパラメータの位置と書き込みに注意する必要があります.[原句]この書き方は間違いです.呼び出し関数は、実際のパラメータtxtが1つ欠けている.
問題1をどのように解決するかは、以下の2つの方法で、1は他のパラメータを一番前に定義し、可変パラメータを一番後ろに定義することができます.2.その他のパラメータをデフォルトのパラメータとして定義します.
>>> def test(name,content): #name content ( )
print(name+'-->'+content)
>>> test(' ',' ') #‘ ’ ‘ ’ ( )
-->
>>> test(' ',' ') # , 。
-->
二、キーワードパラメータ(呼び出し時)注意:位置パラメータと混用する場合は、キーワードパラメータを後ろに置く
>>> test(name=' ',content=" ") # , , : , , , , 。
>
-->
>>> test(content=" ",name=' ')# , , 。
-->
>>>
三、デフォルトパラメータ(定義時)
def test(content,name=' '):
print(name+'-->'+content)
# , , , , # , , , , , 。
>>> test('123')
-->123
>>>
>>> def test(name=' ',content): # : , 。
print(name+'-->'+content)
SyntaxError: non-default argument follows default argument
四、可変パラメータ(収集パラメータ)print,min,maxは典型的な可変パラメータである
>>> def test(*paras):
print(' :'+str(paras))
print(' '+str(len(paras))+' ')
print(' 2 :'+str(paras[1]))
>>> test(1,'abc','123','*',[1,2,3])
:(1, 'abc', '123', '*', [1, 2, 3])
5
2 :abc
>>>
可変パラメータには、1つの関数に可変パラメータのほかに他のパラメータがある場合、可変パラメータと他のパラメータの位置と書き込みに注意する必要があります.[原句]この書き方は間違いです.呼び出し関数は、実際のパラメータtxtが1つ欠けている.
>>> def test(*paras,txt):
print(' :',paras,txt)
print(' ',len(paras),' ')
print(' 2 :',str(paras[1]))
>>> test(1,'abc','123','*',[1,2,3],5)
Traceback (most recent call last):
File "" , line 1, in <module>
test(1,'abc','123','*',[1,2,3],5)
TypeError: test() missing 1 required keyword-only argument: 'txt'
問題1をどのように解決するかは、以下の2つの方法で、1は他のパラメータを一番前に定義し、可変パラメータを一番後ろに定義することができます.2.その他のパラメータをデフォルトのパラメータとして定義します.
```c
>>> def test(*paras,txt=9): #2,
print(' :',paras,txt)
print(' ',len(paras),' ')
print(' 2 :',str(paras[1]))
>>> test(1,'abc','123','*',[1,2,3],5)
: (1, 'abc', '123', '*', [1, 2, 3], 5) 9
6
2 : abc
>>> def test(txt,*paras): #1 , 。
print(' :',paras,txt)
print(' ',len(paras),' ')
print(' 2 :',str(paras[1]))
>>> test(1,'abc','123','*',[1,2,3],5)
: ('abc', '123', '*', [1, 2, 3], 5) 1
5
2 : 123
>>>