[python] Dynamicke volani trid

Jan Matejka matejka na cat.cz
Úterý Listopad 7 19:19:49 CET 2006


Pokud se jedná o to vytvořit třídu na základě textu, tak se dá využít funkce
local:

class a:
    def fa(self):
        print 1

#nalezeni tridy
trida=locals()["a"]

#vytvoreni instance nalezene tridy
ai=trida()

ai.fa()

Jan Matějka

> -----Original Message-----
> From: python-bounces na py.cz [mailto:python-bounces na py.cz] On 
> Behalf Of Tom
> Sent: Tuesday, November 07, 2006 3:39 PM
> To: python na py.cz
> Subject: [python] Dynamicke volani trid
> 
> Zdravim, nevite nahodou nekdo jestli Python umi zavolat 
> metodu tridy s tim, ze jmeno te tridy je kdesi v promenne? neco jako:
> 
> class Trida1():
>   def self.akce:
>     nejaka akce...
>     ...
> class Trida2():
>   def self.akce:
>     jina akce...
>     ....
> 
> a = "Trida1"
> 
> a.akce /* by se pak interpretovalo jako Trida1.akce.*/
> 
> a = "Trida2"
> 
> a.akce  /* by se pak interpretovalo jako Trida1.akce. */
> 
> Diky moc.
> 
> Tom
> 
> _______________________________________________
> Python mailing list
> Python na py.cz
> http://www.py.cz/mailman/listinfo/python
> 



Další informace o konferenci Python