[Linuxtrent] Re: Python e Php

  • From: Roberto Cavada <cavada@xxxxxxxxxxx>
  • To: Linuxtrent <linuxtrent@xxxxxxxxxxxxx>
  • Date: Thu, 04 Dec 2003 16:04:25 +0100

Ciao, 
On Thu, 2003-12-04 at 15:19, Stefano Morandi wrote:
> In particolare, con php e' possibile utilizzare varibili come nomi di 
> funzioni/classi:
[CUT]
> E in python? Se po' fa'?

Ma ti pare che non si possa fare in python! :)
Puoi usare eval sulla stringa contenente nome della classe:

class Test:
    def __init__(self, dato):
        print "Costr Test:", dato
        return
    pass

eval("Test")(10)

Ma non e' molto elegante, cosi puoi fare cosi:

class ClassName (str):
    def __call__(self, *args):
        eval(self)(*args)
        return
    pass

a = ClassName("Test")
a(10)


nota che ora i nomi delle classi non sono solamente stringhe... 
rob

-- 
Per iscriversi  (o disiscriversi), basta spedire un  messaggio con OGGETTO
"subscribe" (o "unsubscribe") a mailto:linuxtrent-request@xxxxxxxxxxxxx


Other related posts: