def hello(param1, param2):
print("hello %r %r\n"%(param1, param2))
class Test(object):
def __init__(self, wb, sheetname, row, col, dieBit, passBin):
self.row = row
self.sheetname = sheetname
def shower(self):
print("self.row=%d self.sheetname=%s \n"%(self.row, self.sheetname))
>>> exec('funcOj=t.{}'.format('hello'))
>>> funcOj('a', 'b')
hello 'a' 'b'
>>> exec('obj=t.{}(0,"sheet1",5,6,3,0)'.format('Test'))
>>> print(obj)
<test.Test object at 0x0000000002E45630>
>>>
>>> obj.shower()
self.row=4 self.sheetname=sheet1
rpc = {k: getattr(obj, k) for k in obj.rpc_public_api}
return rpc
for name, f in self.get_public(instance).items():
dispatch.add_method(f, name)
>>> fnc = getattr(obj, 'shower')
>>> print fnc
<bound method Test.shower of <test.Test object at 0x0000000002F35668>>
>>> fnc()
self.row=4 self.sheetname=sheet1
//reply对象有没有result属性
if hasattr(reply, 'result'):
print reply.result