P
Peter Cole
I'm having difficulty understanding why this doesn't work:
import sys, new, inspect
class T:
def foo(self):
yield 1
yield 2
yield 3
t = T()
ic = t.__class__
for key in ic.__dict__.keys():
if inspect.isfunction(ic.__dict__[key]):
im = new.instancemethod(ic.__dict__[key], t, ic)
print t.foo
print im
print 't.foo().next() = %s' % t.foo().next()
print 'im.next() = %s' % im.next()
<bound method T.foo of <__main__.T instance at 0x00B7ADA0>>
<bound method T.foo of <__main__.T instance at 0x00B7ADA0>>
t.foo().next() = 1
Traceback (most recent call last):
File "D:/python242/Test Scripts/trial.py", line 22, in -toplevel-
print 'im.next() = %s' % im.next()
AttributeError: 'function' object has no attribute 'next'
import sys, new, inspect
class T:
def foo(self):
yield 1
yield 2
yield 3
t = T()
ic = t.__class__
for key in ic.__dict__.keys():
if inspect.isfunction(ic.__dict__[key]):
im = new.instancemethod(ic.__dict__[key], t, ic)
print t.foo
print im
print 't.foo().next() = %s' % t.foo().next()
print 'im.next() = %s' % im.next()
<bound method T.foo of <__main__.T instance at 0x00B7ADA0>>
<bound method T.foo of <__main__.T instance at 0x00B7ADA0>>
t.foo().next() = 1
Traceback (most recent call last):
File "D:/python242/Test Scripts/trial.py", line 22, in -toplevel-
print 'im.next() = %s' % im.next()
AttributeError: 'function' object has no attribute 'next'