Чтобы избежать повторяющегося кода, мы создаем небольшие модули для наших приложений, чтобы мы могли импортировать эти модули в наши файлы main.py и использовать функции или атрибуты, которые они предоставляют. здесь приходит понятие имени (встроенная переменная). поэтому, когда мы запускаем наш main.py, все основные функции всех импортированных модулей также будут выполняться (а это не то, чего мы хотим), мы хотим использовать только методы или атрибуты этих модулей. __name__ == «__main__» запускает блоки кода только тогда, когда наш скрипт Python выполняется непосредственно пользователем. трудно объяснить без примера кода, поэтому

предположим, у меня есть два файла hello.py и main.py

привет.py

def sayHello():
     print("hello Shah Zaib from hello.py")
def main():
     sayHello() 
main()

main.py

import hello
def main():
    print("hello Shah Zaib from main.py")
main()

когда я запускаю main.py (python main.py), он сначала запускает основную функцию hello.py, потому что я импортировал ее в main.py. консоль

python main.py
hello Shah Zaib from hello.py
hello Shah Zaib from main.py

Это не относится к модулям, которые мы обычно используем правильно, чтобы избежать этого, нам нужно использовать name == «main»

ОБНОВЛЕННЫЙ КОД

привет.py

def sayHello():
    print("hello Shah Zaib from hello.py")
def main():
    sayHello()
if __name__ == '__main__':
    main()

main.py

import hello
def main():
    print("hello Shah Zaib from main.py")
if __name__ == '__main__':
    main()

консоль:

python main.py
hello Shah Zaib from main.py

как это происходит?

Ответ: теперь это легко объяснить, __name__ — это встроенная переменная, которая в основном устанавливает значение для файла (python), который мы выполняем, в «main», а модули, импортированные в него, — в их имена. вот почему на этот раз hello.py main() не срабатывал, потому что его имя будет именем файла, которое hello не является основным.

попробуйте поиграть с ним, используя.

print('__name__')

Сначала это может показаться разочаровывающим, но по мере того, как вы будете практиковаться, вам станет легче. Я надеюсь, что это помогло вам.

Удачного обучения