import time import platform import random as r from module import hi as h, add as a try: import nomodule except ImportError: print("Модуля nomodule не существует") h() print(a(45, 15))
import module import importlib importlib.reload(module) module.a()
# 16 - Модули. Работа с import и from import math import time import os import random as r # сокращение имени модула (псевдоним) try: import nomodule except ImportError: print("Модуля nomodule не существует!") #import module as m # подключаем созданный нами модуль из файла module.py from module import hi as h, add as a # импортируем из модуля module только те функции, которые мы хотим использовать print(math.cos(1)) # output: 0.5403023058681398 print(math.pi) # output: 3.141592653589793 print(time.time()) # 1573221584.627597 print(os.getcwd()) # /Users/dreik/programming/Python/pytest/lesson16 print( os.uname() ) # posix.uname_result(sysname='Darwin', nodename='Dreiks-Macbook.local', release='18.7.0', version='Darwin Kernel Version 18.7.0: Tue Aug 20 16:57:14 PDT 2019; root:xnu-4903.271.2~2/RELEASE_X86_64', machine='x86_64') print(r.random()) # 0.9063304168697739 h() print(a(13, 15))
print(module.sub(4, 3)) from module import add, sub print(add(5, 7)) # 모듈 불러오기의 다양한 기법 """ 모듈을 불러올 때, 함수나 클래스 이름을 하나 하나 다 적어줄 수도 있지만 from 파일명 import * 하여 가져온 모듈에 있는 모든 함수를 다 가져올 수도 있다 또, from 파일명 import add as a 로 하여 가져온 함수 이름을 다르식으로 부르게 할 수 있다. """ from module import * from module import add as a print(a(3, 4)) # __name__ """ __name__은 파이썬에서 사전에 정의된 변수로, 해당 변수가 쓰여진 파일 내에서는 __main__이라는 문자로 선언된다 하지만 다른 파일에서 사용된다면 해당 파일의 이름을 선언한다 보통 import한 파일에서 자동으로 실행되는 코드(이를 테면 print같은 것들)가 실행되지 않게끔 하기 위해서 사용된다 if __name__ == "__main__": print(add(3, 4)) 로 코드를 수정한다면 원래 파일에서는 __name__변수에 __main__이 바인딩 될것이다 그러나 모듈을 가져온 파일에서는 __name__변수에 module이 바인딩 된다 결과적으로 원래 파일에서 파일을 실행하면 if문이 True가 되면서 print가 실행되지만, 모듈로 가져온 파일에서는 if문이 False가 되면서 print가 실행되지 않는다 """
import nomodule except ImportError: print("Modul is not exist\n") print(math.cos(1)) print(time.time()) print(r.random()) """ """ Создаем module.py и прописываем функции в нем, потом импортим в рабойчий файл и вызываем функции которые прописали в модульном файле. Вот так работают модули. Огонь!) """ import module print(module.add(3, 5)) """ если импортировать только одну функцию, то делаем вот так: """ from module import hi, add as a """ и к функции можно обращаться далее вот так: """ hi() print(a(7, 10))
def imp(): c() print(b[0]) if b[0] == 0: print(222) a(b).add('a', 1)