Путается с двумя ключевыми словами: __name__ и __main__

Я просмотрел различные сообщения и объяснения для указанных выше ключевых слов [ __name__ и __main__ ].

Пожалуйста, подтвердите, правильно ли мое понимание

1. __name__ автоматически сохраняет имя файла, когда файл редактируется и сохраняется.

2. __main__ обновляется через командную строку.

Каково значение, хранящееся в __main__ когда оно не инициализировано?

Могу ли я запрограммировать __main__ для доступа к условному коду в файле?

Например, у меня есть два файла: a.py и b.py

a.py

import b
# Can I program here '__main__' to access the functionality in b?
# So that I can print the condition is true if __name__ == '__main__':

b.py

if __name__ == '__main__':
 print 'This program is being run by itself' 
else:
 print 'I am being imported from another module'

Прокомментируйте свои взгляды на понимание и возможность доступа/изменения __main__

1 ответ

__name__ даст вам имя текущего модуля и модуля, который используется, когда вы говорите

python prog.py

__name__ в prog.py теперь будет __main__. Это объяснено в документах python здесь

licensed under cc by-sa 3.0 with attribution.