There's a Python module called pep8 which can check your code to see if it complies with the pep8 guidelines.
I tried running pep8 on the examples you listed, and several variants of them, and in general, the pep8 program accepted all of them as compliant with pep8 guidelines. So basically, the answer to all your questions is yes.
There does exist some level of subjectivity -- for example, you could have two or one newlines between the main function and the if __name__ == '__main__'
segment. However, I wouldn't worry too much about pep8 compliance -- just download and install the pep8 program along with other code analyzers (such as pylint). As long as your code is passing those tests, it's good enough.