Hi,
I am working on a small project as well as trying to learn python. I parse a
text file like
def some_user_func( ):
# <name> Some user function
#<description> The description
pass
so that 'name', 'description' get put into self.info and the code gets
compilied into a runnable function in self.func. This works but is it
pythonic?
Thanks alot for helping out! matthew.
def print_message() :
print "I am a message"
def print_num(num=0 ):
print 'Number: ', num
class call_me(object) :
def __init__(self, func, *args, **kw):
self.func = func
self.args = args
self.kw = kw
def __call__(self, *args, **kw):
print "Execing... "
return self.func(*self .args, **self.kw)
class a_func(object):
def __init__(self, func, info = {}): # name, description, authour, etc
self.func = func
self.info = info
print 'finished a_func.__init__ ()'
def __call__(self):
print self.info
self.func()
print 'exiting a_func.__call__ ()'
my_func = a_func(call_me( print_message), {'name': 'Print a message'})
my_func()
another = a_func(call_me( print_num, 42), {'name': 'Print a number'})
another()
I am working on a small project as well as trying to learn python. I parse a
text file like
def some_user_func( ):
# <name> Some user function
#<description> The description
pass
so that 'name', 'description' get put into self.info and the code gets
compilied into a runnable function in self.func. This works but is it
pythonic?
Thanks alot for helping out! matthew.
def print_message() :
print "I am a message"
def print_num(num=0 ):
print 'Number: ', num
class call_me(object) :
def __init__(self, func, *args, **kw):
self.func = func
self.args = args
self.kw = kw
def __call__(self, *args, **kw):
print "Execing... "
return self.func(*self .args, **self.kw)
class a_func(object):
def __init__(self, func, info = {}): # name, description, authour, etc
self.func = func
self.info = info
print 'finished a_func.__init__ ()'
def __call__(self):
print self.info
self.func()
print 'exiting a_func.__call__ ()'
my_func = a_func(call_me( print_message), {'name': 'Print a message'})
my_func()
another = a_func(call_me( print_num, 42), {'name': 'Print a number'})
another()
Comment