Prev: def method with variable no of parameters file.writeStuff(n, a1, a2,...an)
Next: reduce in loop
From: Joaquin Abian on 4 Apr 2010 19:17 On Apr 2, 1:25 pm, "vlad_fig" <vlad_...(a)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
From: alex23 on 4 Apr 2010 19:19 "vlad_fig" <vlad_...(a)yahoo.com> wrote: > 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 It's not necessary to have to specify the number of parameters, you can use Python's support for optional parameters[1] instead: def writeStuff(self, *args): self.someLines.append(args) args will be a list of the values passed into writeStuff. 1: http://docs.python.org/reference/expressions.html#calls
|
Pages: 1 Prev: def method with variable no of parameters file.writeStuff(n, a1, a2,...an) Next: reduce in loop |