Isn’t it “self”, really? [1]
Assume your python program is fully static and well behaved from a compiler perspective. JIT compile it, and observe what it does, so that you can invalidate the compiled code and re-JIT it if it does something overly dynamic.
Incidentally, what JVM did. (I’m sure now it’s been tweaked beyond recognition)