It depends.
Native code can be marked execute-only (i.e. no read, no write), but I'm doubt it works on interpreted code. Since python byte-codes are interpreted, even after being compiled, I suspect that a true execute-only permission would prevent reading by the interpreter. Execute-only for owner is chmod 100. Try it. See what happens.
I don't see why mode 500 is insufficient. It allows read and execute only to the owner. If the owner is your user account, then only you can read or execute it. Why is that not a sufficient solution to the problem of preventing others from reading?
Since you own the file, you can also change the permissions at any time. No security is gained by forbidding read, since you can choose to allow it at any time. By "you" I actually mean "any program running under your user id", which can call chmod to allow reading, do the reading, then chmod back. Boom, you're compromised.
There are more complex access rules definable using ACLs (Access Control Lists), but without a more detailed explanation of what you're trying to accomplish, and why mode 500 fails to accomplish it, I don't see why you'd bother with that complexity.
If you expect other people to be using your user account, then no amount of permission bits or ACLs can prevent access. The computer can't magically see who's typing and forbid your sister while giving you access. That leaves masking or similar encryption schemes.