def method with variable no of parameters file.writeStuff(n, a1, a2, ...an)

Joaquin Abian gatoygata2 at gmail.com
Sun Apr 4 19:17:43 EDT 2010


On Apr 2, 1:25 pm, "vlad_fig" <vlad_... at yahoo.com> wrote:
> Hello all,
>
> I would like some help with setting up a method that would allow me to change its number of parameters. For example:
>
> #---------------------
> class createfile(object):
>
> def __init__(self,
> modelName = None,
> someLines = None):
>
> self.modelName = modelName
>
> if someLines is None:
> self.someLines = []
> else:
> self.someLines = someLines
>
> def writeStuff(self,
> numberParameters = None,
> Parameter1 = None,... ??? )
> self.someLines .append("yes, we can %s" % self.Parameter1)
> #---------------------
> file = createfile('file')
>
> file.writeStuff(2,a1,a2)
> file.writeStuff(3,a1,a2,a3)
> ....
> file.writeStuff(n,a1,a2,...an)
>
> ---
> so i want a method i can call based on the number of parameters n , and that allows me to add these extra parameters based on n
>
> Thank you,
> Vicnic

Maybe you are looking for *args:

class Test():
    def meth(self, *args):
        print args

inst = Test()
inst.meth(1,2,3,4,5,6,7)

#prints (1,2,3,4,5,6,7)

Cheers
Joaquin



More information about the Python-list mailing list