-필요한 기능들만 따로 모아서 만들어 놓는 것
#hello.py def hello(name): print('안녕, 내 이름은 {0}'.format(name)) def hobby(hobby): print('취미는 {0} 입니다'.format(hobby))
import를 이용해 모듈을 불러와 사용
import hello hello.hello('햄토리') hello.hobby('게임') # > 안녕, 내 이름은 햄토리 # > 취미는 게임 입니다
모듈이름을 as 뒤에 별명 처럼 붙여서 사용가능
import hello as tm tm.hello('햄토리') tm.hobby('게임') # > 안녕, 내 이름은 햄토리 # > 취미는 게임 입니다
from 모듈명 import * 를 사용하면 모든 모듈 함수를 바로 사용가능
from hello import * hello('햄토리') hobby('게임') # > 안녕, 내 이름은 햄토리 # > 취미는 게임 입니다
필요한 모듈 함수만 불러와서 사용도 가능
from hello import hello hello('햄토리') # > 안녕, 내 이름은 햄토리
import 되지 않은 모듈 함수를 사용하려고 하면 에러남
from hello import hello hobby('게임') #**에러**
-모듈을 모아놓은 것
#module/student.py class Student: def hello(self): print('안녕하세요')
import로 호출해서 사용
import module.student hello = module.student.Student() hello.hello() # > 안녕하세요
from import로 호출해서 사용
#from 폴더명.파일명 import 클래스명 from module.student import Student hello = Student() hello.hello() # > 안녕하세요
#from 폴더명 import 파일명 from module import student hello = student.Student() hello.hello() # > 안녕하세요
from module import * hello = student.Student() #**에러** hello.hello()
module 폴더에 init파일 생성
#module/__init__.py __all__ = ['student'] #사용할 module파일을 list에 추가
from module import * hello = student.Student() hello.hello() # > 안녕하세요
#module.Student.py class Student: def hello(self): print('안녕하세요') if __name__ == '__main__': print('Student 모듈 직접 실행') hello = Student() hello.hello() else: print('외부에서 모듈 실행') # > Student 모듈 직접 실행 # > 안녕하세요
from module import * hello = student.Student() hello.hello() # > 외부에서 모듈 실행 # > 안녕하세요
import inspect from module import * print(inspect.getfile(student)) # > 외부에서 모듈 실행 # > **파일 위치 경로가 찍힘**