Methods on are bound to instances at runtime. When you run the following code:
print(Person().sayHello is Person().sayHello)
you create two instances and each time you have a different memory address.
>>> Person().sayHello
>
>>> Person().sayHello
>
Note: All we have in Python is runtime; there is no such thing as a separate compile time.