Python has a bunch of magic variables, like __name__. This one contains the name of the module you’re currently in (usually based on the file name), so if your file is called foo.py, it will have the value foo.
But that’s only if your module is being imported by another module. If it’s executed directly (e.g. python foo.py), it will instead have a __name__ of __main__. This is often used to add a standalone CLI section to modules - e.g. the module usually only defines functions that can be imported, but when executed it runs an example of those functions.
Python has a bunch of magic variables, like
__name__
. This one contains the name of the module you’re currently in (usually based on the file name), so if your file is calledfoo.py
, it will have the valuefoo
.But that’s only if your module is being imported by another module. If it’s executed directly (e.g.
python foo.py
), it will instead have a__name__
of__main__
. This is often used to add a standalone CLI section to modules - e.g. the module usually only defines functions that can be imported, but when executed it runs an example of those functions.checks username
So it’s you they’re always talking about
It is, it’s the other Barry.
Really helpful explanation, thanks.