Unless I’m mistaken (I’m not a python dev) that page is saying that there’s a variable python generates called “name” that will be the name of the module (file) where the code is executing. However, if the module is the entry point for the program (ie the script you ran to start the code executing) then that name variable will contain the value “main” instead.
Edit: Disclaimer: reddit has taken the two underscores before and after to mean I want to bold “main” and “name”, and I’m not going to bother to figure out how to correct that.
Unless I’m mistaken (I’m not a python dev) that page is saying that there’s a variable python generates called “__name__” that will be the name of the module (file) where the code is executing. However, if the module is the entry point for the program (ie the script you ran to start the code executing) then that __name__ variable will contain the value “__main__” instead.
Edit: Disclaimer: reddit has taken the two underscores before and after to mean I want to bold “main” and “name”, and I’m not going to bother to figure out how to correct that.
And to finish the explanation so that people don't have to open the link: if you want to import a function or a class or something from a module, python needs to run that module. If you haven't used the "if __name__ == '__main__': main()" construct, that means the main code of that imported module will also be run which is almost never what you want.
Edit: Disclaimer: reddit has taken the two underscores before and after to mean I want to bold “main” and “name”, and I’m not going to bother to figure out how to correct that.
You're using the "old" editor/markdown. You need to escape character it:
__ or so. It's dumb, but that's how Markdown works.
14
u/[deleted] May 27 '22
[deleted]