It would be True if you called sayHello:
print(Person().sayHello() is Person().sayHello())
In your code you're actually comparing the methods on the objects and checking whether they have the same identity (which they don't). Also note the difference between:
"Hello" is "Hello"
and
"Hello" == "Hello"
In the first, you're comparing the identity of the objects (which is the same due to the string being reused, call id("Hello") multiple times to see that). In the second, you're comparing the contents of the strings to see if they're equal (i.e., have the same characters). Now, the same strings would also have the same identity but I'm not sure whether that assumption holds across all Python implementations.