Python - 모듈

이호현·2020년 7월 6일
0

Python

목록 보기
9/10

1. 모듈

-필요한 기능들만 따로 모아서 만들어 놓는 것

모듈 만들기

#hello.py

def hello(name):
    print('안녕, 내 이름은 {0}'.format(name))
def hobby(hobby):
    print('취미는 {0} 입니다'.format(hobby))

모듈 호출(import)

import를 이용해 모듈을 불러와 사용

import hello
hello.hello('햄토리')
hello.hobby('게임')

# > 안녕, 내 이름은 햄토리
# > 취미는 게임 입니다

모듈이름을 as 뒤에 별명 처럼 붙여서 사용가능

import hello as tm
tm.hello('햄토리')
tm.hobby('게임')

# > 안녕, 내 이름은 햄토리
# > 취미는 게임 입니다

모듈 호출(from import)

from 모듈명 import * 를 사용하면 모든 모듈 함수를 바로 사용가능

from hello import *
hello('햄토리')
hobby('게임')

# > 안녕, 내 이름은 햄토리
# > 취미는 게임 입니다

필요한 모듈 함수만 불러와서 사용도 가능

from hello import hello
hello('햄토리')

# > 안녕, 내 이름은 햄토리

import 되지 않은 모듈 함수를 사용하려고 하면 에러남

from hello import hello
hobby('게임')					#**에러**

2. 패키지

-모듈을 모아놓은 것

패키지 만들기

#module/student.py

class Student:
    def hello(self):
        print('안녕하세요')

패키지 호출(import)

import로 호출해서 사용

import module.student
hello = module.student.Student()
hello.hello()

# > 안녕하세요

패키지 호출(from import)

from import로 호출해서 사용

#from 폴더명.파일명 import 클래스명

from module.student import Student
hello = Student()
hello.hello()

# > 안녕하세요
#from 폴더명 import 파일명

from module import student
hello = student.Student()
hello.hello()

# > 안녕하세요

init, all(from import)

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))

# > 외부에서 모듈 실행
# > **파일 위치 경로가 찍힘**
profile
평생 개발자로 살고싶습니다

0개의 댓글