When the interpreter reads a python script file, it does two things:
(1) set some special variable.
(2) it executes all the code from 1st line of that script file.
__name__ (2 underscores before and after) is a special python variable.
we can import this script as a module.
and also execute this script directly that the interpreter will assign the hard-coded string "__main__" to the __name__ variable
# foo.py# I am using python 3.4
print ("Befor foo function.")
def foo():
print ("foo function.")
print ("After foo function.")
if __name__ == "__main__":
foo()
if we run it with
$ python foo.py
then the result is :
Befor foo function.
After foo function.
foo function.
and if we import it, then run $ python hello.py
# hello.pyimport foo
the running result is:
Befor foo function.
After foo function.
来源:https://www.cnblogs.com/sarah-zhang/p/12057869.html