所以在Java中,你可以做這樣的事情,如果你不知道你有多少參數要得到經與DEF多個參數在Python
private void testMethod(String... testStringArray){
}
我怎樣才能做這樣的事情在python
因爲我不能做這樣的事情嗎?
所以在Java中,你可以做這樣的事情,如果你不知道你有多少參數要得到經與DEF多個參數在Python
private void testMethod(String... testStringArray){
}
我怎樣才能做這樣的事情在python
因爲我不能做這樣的事情嗎?
你在說變長參數列表嗎?如果是這樣,請看*args
,**kwargs
。
見本Basic Guide和How to use *args and **kwargs in Python
兩個短的實例從[1]:
使用*args
:
def test_var_args(farg, *args):
print "formal arg:", farg
for arg in args:
print "another arg:", arg
test_var_args(1, "two", 3)
結果:
formal arg: 1
another arg: two
another arg: 3
和使用**kwargs
(關鍵字參數):
def test_var_kwargs(farg, **kwargs):
print "formal arg:", farg
for key in kwargs:
print "another keyword arg: %s: %s" % (key, kwargs[key])
test_var_kwargs(farg=1, myarg2="two", myarg3=3)
結果:
formal arg: 1
another keyword arg: myarg2: two
another keyword arg: myarg3: 3
從這個報價SO質疑What do *args and **kwargs mean?:
把*指定參數和/或** kwargs在上項目的函數 定義的參數列表允許該函數接受任意數量的匿名和/或關鍵字參數。
聽起來像是你想:
def func(*args):
# args is a list of all arguments
這就像很多其他此類信息是覆蓋在the Python tutorial,你應該閱讀。
剛剛編輯我的問題,問我是否可以使用它,因爲我看到它周圍 – FabianCook 2012-07-18 21:04:10
幫助了很多謝謝 – FabianCook 2012-07-18 21:07:13