fork download
  1. import inspect
  2.  
  3. class Foo:
  4. pass
  5.  
  6. def bar(self):
  7. print(self.x)
  8.  
  9. foo = Foo()
  10. Foo.bar = bar
  11. foo.x = "foobar!!"
  12. foo.bar()
  13. print([ x for x in inspect.getmembers(foo) if x[0] in ['bar', 'x']])
  14.  
  15.  
  16. class Foo:
  17. def __init__(self, x):
  18. self.x = x
  19.  
  20. def bar(self):
  21. print(self.x)
  22.  
  23.  
  24. foo = Foo("FOOBAR!!")
  25. foo.bar()
  26. print([ x for x in inspect.getmembers(foo) if x[0] in ['bar', 'x']])
  27.  
  28.  
Success #stdin #stdout 0.02s 10152KB
stdin
Standard input is empty
stdout
foobar!!
[('bar', <bound method bar of <__main__.Foo object at 0x2ad6232e3358>>), ('x', 'foobar!!')]
FOOBAR!!
[('bar', <bound method Foo.bar of <__main__.Foo object at 0x2ad6232e3160>>), ('x', 'FOOBAR!!')]