0

関数に同じパラメータをn回渡す方法はありますか?

例えば:

if len(menu) == 1:
    gtk.ListStore(str)
elif len(menu) == 2:
    gtk.ListStore(str, str)
elif len(menu) == 3:
    gtk.ListStore(str, str, str)

このようなものですが、「自動」...

4

3 に答える 3

2

あなたの言いたいことは次のとおりです。

gtk.ListStore(*menu)

シーケンスは、関数呼び出しの位置引数に分割できます。感嘆符は、位置引数の最後に配置する必要があります。つまり、次のようになります。

foo(1, 2, *bar)

大丈夫ですが、できません

foo(1, *bar, 2)
于 2013-05-16T12:27:38.413 に答える
1
def  ListStore(*str_collection): #collect arguments passed into str_collection which is a tuple
    for s in str_collection:
        print(s)

ListStore("A","B","C")

出力:

>>> 
A
B
C

str_collectionタイプがあります:

>>> 
<type 'tuple'>
于 2013-05-16T12:25:31.480 に答える
0

次の構文を使用します。

gtk.ListStore(*[str] * len(menu))
于 2013-05-16T12:27:15.790 に答える