![]() |
Re: cymbalic reference?
On Tue, Jan 15, 2013 at 8:56 PM, rh <richard_hubbe11@lavabit.com> wrote:
> I have this working and I am curious to know how others do same. > > class Abc(object): > def __init__(self): > pass > def good(self): > print "Abc good" > def better(self): > print "Abc better" > > urls = {'Abc':'http://example.com'} > strings = ['good', 'better'] > > for s in urls: > o = eval("%s()" % s) > for string in strings: > eval("o.%s()" % string) > > > Yes, 'spose symbolic references is what these are.... > > While I'm at it what magic could I use to print "the-class-I-am-in good" > instead of hard-coding "Abc good"? I tried __class_ and self.__class__ > > -- Rather than using eval, you can grab the class out of globals(), and then use getattr to get the methods. >>> for s in urls : .... o = globals()[s]() .... for method in strings : .... getattr(o, method)() .... Abc good Abc better And for getting the class name, the class has a __name__ attribute. So you could use self.__class__.__name__. |
| All times are GMT. The time now is 08:21 PM. |
Powered by vBulletin®. Copyright ©2000 - 2013, vBulletin Solutions, Inc.
SEO by vBSEO ©2010, Crawlability, Inc.