On Jun 10, 11:11 am, 7stud <[EMAIL PROTECTED]> wrote: > On Jun 10, 10:37 am, Stef Mientki <[EMAIL PROTECTED]> > wrote: > > > > > hello, > > > For a simulation at different levels, > > I need different functions with the same name. > > Is that possible ? > > > I can realize it with a simple switch within each function, > > but that makes the code much less readable: > > > def Some_Function(): > > if simulation_level == 1: > > ... do things in a way > > elif simulation_level == 2: > > ... do things in another way > > elif simulation_level == 3: > > ... do things in yet another way > > > thanks, > > Stef Mientki > > Try something like this: > > class Simulation1(object): > def greet(self): > print "hello" > > class Simulation2(object): > def greet(self): > print "hello" > > class Simulation3(object): > def greet(self): > print "hello" > > def someFunc(simObj): > simObj.greet() > > s1 = Simulation1() > s2 = Simulation2() > s3 = Simulation3() > > someFunc(s1) > someFunc(s2) > someFunc(s3)
Horrible example. Look at this instead: class Simulation1(object): def greet(self): print "hello from sim1" class Simulation2(object): def greet(self): print "Hi. I'm sim2" class Simulation3(object): def greet(self): print "sim3 is #1! Hello there." def someFunc(simObj): simObj.greet() s1 = Simulation1() s2 = Simulation2() s3 = Simulation3() someFunc(s1) someFunc(s2) someFunc(s3) ---output:--- hello from sim1 Hi. I'm sim2 sim3 is #1! Hello there. As the output shows, you can call the same function, but the function can do different things. -- http://mail.python.org/mailman/listinfo/python-list