[Python-de] elif auflösen

Olaf 'Rübezahl' Radicke olaf_rad at gmx.de
Mit Apr 21 21:37:18 CEST 2004


Ich habe mich jetzt für eine Mischung entschieden:



class unter_class1:
    """ Die Klassse representiert einen Namensraum 'obj_eins' """
    def print_func_1(self,arg):
        print "Class 1 Func1 arg: ",arg

    def print_func_2(self,arg):
        print "Class 1 Func2 arg: ",arg

    def print_func_3(self,arg):
        print "Class 1 Func3 arg: ",arg


class unter_class2:
    """ Die Klassse representiert einen Namensraum 'obj_zwei' """
    def print_func_1(self,arg):
        print "Class 2 Func 1 arg: ",arg    

    def print_func_2(self,arg):
        print "Class 2 Func 2 arg: ",arg  
  
    def print_func_3(self,arg):
        print "Class 2 Func 3 arg: ",arg

# Die Funktionn dieser beiden Klassen waren zuvor
# in einer

o_liste = {}
o_liste["obj_eins"] =  unter_class1()
o_liste["obj_zwei"] =  unter_class1()

class test:

    def var_func(self, arg1, arg2):
        return getattr(o_liste[arg1], "print_" + arg2)
 
         
t = test()

t.var_func("obj_eins","func_1")("a")
# Der tag hätte lauten können : <obj_eins:func_1 wert='a'>

t.var_func("obj_eins","func_2")("b")
# Der tag hätte lauten können : <obj_eins:func_2 wert='b'>

t.var_func("obj_eins","func_3")("c")
# usw.
t.var_func("obj_zwei","func_1")("a")
t.var_func("obj_zwei","func_2")("b")
t.var_func("obj_zwei","func_3")("c")