python函式處理 談python函式的引數處理

2021-10-16 15:28:35 字數 1066 閱讀 9781

以下幾種函式定義

def funcion(a,b):

print a,b

function(1,2)

def function1(*a):

print a       <=列印元組

function1(1,2,3)

def function2(**a):

print a       <=列印字典

function2(name='zzj',age=30)

def function3(*a,**b):

print a,b     <=列印元組+字典

function3(1,2,3,name='zzj',age=30)

呼叫,需要人為的構造實參.如果我們有現成的元組和字典,想作為實參應該怎麼辦?

如我們經過一系列的動作得知了乙個元組atuple,想將其作為實參,

難道function1(atuple)?

code

>>> atuple=(1,2,3,4)

>>> function1(atuple)

((1, 2, 3),)

(1, 2, 3, 4)

code

>>> adict

>>> function2(name='zzj',age=30)

>>> function2(adict)

traceback (most recent call last):

file "", line 1, in

typeerror: function2() takes exactly 0 arguments (1 given)

code

>>> def function4(a,b,c,*d,**e):

...     print a,b,c,d,e

>>> arg1=1

>>> arg2=2

>>> arg3=3

>>> atuple=(4,5,6)

>>> adict=

1 2 3 ((4, 5, 6),)

注意,實參與形參的順序,一定要對應上,否則就不是你想要的值了.

掃碼關注

談python函式的引數處理

以下幾種函式定義 def funcion a,b print a,b function 1,2 def function1 a print a 列印元組 function1 1,2,3 def function2 a print a 列印字典 function2 name zzj age 30 de...

小談Python的getattr函式

通過 getattr 獲取物件引用 你已經知道 python 函式是物件。你不知道的是,使用 getattr 函式,可以得到乙個直到執行時才知道名稱的函式的引用。li larry curly li.pop getattr li,pop li larry curly moe getattr clear...

python樹函式 從表示式樹建立python函式

我假設你的表示式樹是由許多物件組成的,它們的型別對應於它是什麼樣的表示式。例如,or,equals,strings等,類似於 class orexpression def init self,left,right self.left left self.right right class equal...