2017-10-20 12 views
1

比方說,我打電話給下面的參數如何解決功能問題,同時允許它是動態的?

Function(char1, char2, char3, char4, Number) 

,前4項代表chars,最後是int,因此函數不能是靜態的我可能會添加更多的字符的功能。其主要功能將開始喜歡

def Function(*args): 
    table_line = "" 
    for x in range(Number/2): 

但給它不再知道它應該在三線使用提供的參數數函數參數。

回答

2

通行證number作爲第一個參數:

def func(number, *char): 
    ... 
1

如果您使用python3.x(你現在不是,因爲你在評論中提到的),你可以解壓使用args*迭代拆包,使用前:

def function(*args): 
    *chars, number = args 
    ... 

它是這樣的:

In [8]: *a, b = (1, 2, 3, 4) 

In [9]: a 
Out[9]: [1, 2, 3] 

In [10]: b 
Out[10]: 4 

除了最後一個在args每個元素都被髮送到chars,現在變成了list。您現在可以使用number變量作爲單獨的變量。

+0

忘記提到,python2.7,不支持有關python <3該方法。 – Tim

+0

@Tim Uff,那些細節很重要。去做什麼[這個答案](https://stackoverflow.com/a/46843396/4909087)然後建議。 –

+0

完成謝謝你已經採取回答壽的時間。 – Tim

相關問題