Найти - Пользователи
Полная версия: При импорте вызывается исполнение всего функций модуля
Начало » Python для новичков » При импорте вызывается исполнение всего функций модуля
1
Suliman
Проблема в том, что у меня после импортирования модуля он весь исполняется.
app.py:
import hello
print "Main from main App"

hello.py:
def sayhello():
	print "hello from import"
	
sayhello()

Вывод:
D:\1>app.py
hello from import
Main App

Просто я рассчитывал, что после импорта модуля у меня будет просто возможность использовать переменные оттуда, а импорт приводит к выполению всего модуля. Есть варианты или переменные нужно вынести в отдельный модуль?
ilnur
#hello.py
def sayhello():
	print "hello from import"
if __name__ == '__main__':
	sayhello()
JOHN_16
Suliman
вы не правильно понимаете что такое импорт в Python, он работает ровно так как вы сами и сказали - он не просто объеденяет пространство имен модулей, но и выполняет весь код который в нем указан. Решение вам правильно предложил ilnur, sayhello() выполнится в hello.py только если вызвать непосредственно его.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB