#!python3
import dis
class Test:
def frob(self):
pass
obj = Test()
def a():
getattr(obj, 'frob')
def b():
obj.frob
def c():
obj.frob()
def d():
frob = obj.frob
frob()
def print_dis(fn):
print(fn.__name__)
dis.dis(fn)
print('=' * 40)
for fn in a, b, c, d:
print_dis(fn)
IyFweXRob24zCmltcG9ydCBkaXMKCmNsYXNzIFRlc3Q6CiAgICBkZWYgZnJvYihzZWxmKToKICAgICAgICBwYXNzCiAgICAgICAgCm9iaiA9IFRlc3QoKQoKZGVmIGEoKToKICAgIGdldGF0dHIob2JqLCAnZnJvYicpCgpkZWYgYigpOgogICAgb2JqLmZyb2IKCmRlZiBjKCk6CiAgICBvYmouZnJvYigpCgpkZWYgZCgpOgogICAgZnJvYiA9IG9iai5mcm9iCiAgICBmcm9iKCkKCmRlZiBwcmludF9kaXMoZm4pOgoJcHJpbnQoZm4uX19uYW1lX18pCglkaXMuZGlzKGZuKQoJcHJpbnQoJz0nICogNDApCgpmb3IgZm4gaW4gYSwgYiwgYywgZDoKCXByaW50X2Rpcyhmbik=