0
Can someone explain __main__?
The solo learn explanation of __main__ went straight over my head and I did not understand it at all. I know I can google away but I am hoping someone can point to a clear explanation that they deemed clear. Too much unclear "explanation"...
6 Answers
+ 6
The comment section has nice explanations, check it out, always.
Your idea in below question is wrong:
https://www.sololearn.com/Discuss/170057/?ref=app
I'll try to explain it with my own words:
We have a file "A.py" that looks like this:
print(__name__ == "__main__")
If you run that file you will get True as output.
But if you run another file "B.py" that looks this way:
import A #False, A now is a module
print(__name__ == "__main__") #True, the current file (B) is the main one.
+ 4
I think that's well explained in SoloLearn's tutorial:
[...if the Python interpreter is running that module (the source file) as the main program, it sets the special __name__ variable to have a value "__main__". If this file is being imported from another module, __name__ will be set to the module's name.]
+ 2
Thanks Kevin. So __name__ is not a variable that changes and takes a value other than __main__ when imported as a module. It is either equal to "__main__" or not equal to "__main__" in which case it is not having some other value. Correct?
+ 1
So much is clear. Then why if if do import re followed by print(__name__) I get "__main__"??
0
Yes but testing tells a different story.