這個功能倒也不是我多麼急需的功能,隻是恰好看到了,覺得或許以後會用的到。功能就是實作函數能夠接受不同數目的參數。
其實,在C語言中這個功能是熟悉的,雖說實作的形式不太一樣。C語言中的main函數是可以實作類似的功能的,可以通過這種方式實作一個支援指令行參數的程式。
先寫一段python實作相應功能的示範代碼:
defFuncDemo(*par):
print("number of pars: %d" %len(par))
print("type of par: %s" %type(par))
i = 0
if len(par) != 0:
for p in par:
i = i + 1
print("%d par is:%s" %(i,p))
加載後運作測試互動記錄:
>>>FuncDemo()
number of pars: 0
type of par:<class 'tuple'>
>>>FuncDemo(1,2,3)
number of pars: 3
type of par:<class 'tuple'>
1 par is: 1
2 par is: 2
3 par is: 3
>>>FuncDemo(1,2,3,'abc')
number of pars: 4
type of par:<class 'tuple'>
1 par is: 1
2 par is: 2
3 par is: 3
4 par is: abc
這基本上就是Python實作接受任意參數函數的方法以及應用,接下來小結一下相應的知識。
實作Python接受任意個數參數的函數,在形式上比較簡單。就是在參數前面加上一個星号,這樣相應的參數位置就能夠接受任意個參數。相應的參數在函數中是一個元組,從上面互動的結果也能夠看得出。