python函式的可變引數問題

2021-10-10 01:29:33 字數 1173 閱讀 4430

deff(

*x):

print

(x,type

(x))f(1

)f('a',

'b')f(1

,2,3

,[23,

31])

如上程式,定義了乙個函式,裡面的引數加*代表可變引數,也就是可以輸入多個引數,但是,輸入進去後引數的型別就發生了變化。如下為程式執行結果:

'''

'''(1,

)<

class

'tuple'

>

('a'

,'b'

)<

class

'tuple'

>(1

,2,3

,[23,

31])<

class

'tuple'

>

執行結果顯示,引數變為了元組的形式,這一點以後一定要多注意!!!

可以利用這個特點做些事情:

(1)兩個數相乘:

#兩個數相乘

deff2

(*x)

:print

(x[0

]*x[1]

)f2(10,

20)

(2)將輸入引數做累乘

'''

'''#將輸入引數做累乘

deff3

(*x)

: s =

1for i in

range

(len

(x))

: s = s * x[i]

print

(s)f3(10,

20,30)

(3)求輸入引數的平均值

deff6(

*m):

s =0for i in

range

(len

(m))

:

s = s + m[i]

s = s/

len(m)

print

(s)#sum(m)/len(m) #或者直接用這句話代替上邊的幾句

f6(1,1

,1,1

)

python可變引數呼叫函式問題

一直使用python實現一些想法,最近在使用python的過程中出現這樣乙個需求,定義了乙個函式,第乙個是普通引數,第二個是預設引數,後面還有可變引數,在最初學習python的時候,都知道非關鍵字可變引數和關鍵字可變引數兩種,呼叫的方式也非常多種多樣,這裡主要提出乙個比較隱含的問題,並將各種可能出現...

python可變引數呼叫函式問題

一直使用python實現一些想法,近期在使用python的過程 現這樣乙個需求,定義了乙個函式。第乙個是普通引數。第二個是預設引數,後面還有可變引數,在最初學習python的時候,都知道非keyword可變引數和keyword可變引數兩種,呼叫的方式或許多種多樣,這裡主要提出乙個比較隱含的問題。並將...

python可變引數呼叫函式的問題

已使用python實現的一些想法,近期使用python這種出現的要求,它定義了乙個函式,第一種是一般的引數,第二個引數是預設,並有可變引數。在第一項研究中python時間,不知道keyword可變引數和keyword可變引數兩種,呼叫的方式或許多種多樣。這裡主要提出乙個比較隱含的問題。並將各種可能出...