TIL21 | Python_모듈 사용

6078 단어 pythonWeCodeWeCode

1. 모듈이란?

파이썬에서 모듈은 변수나 함수 그리고 클래스 등을 모아놓은 파일이다.

모듈을 사용하는 이유

  • 다른 파일에서 재사용이 가능하다.
  • 코드가 너무 길 때 여러 파일로 나눠서 정리가 가능

이미 만들어진 모듈을 사용하거나 직접 만들어서 사용이 가능하다.

2. 모듈 만들기

  • 파일을 만든후 그 안에 재사용 하고 싶은 함수나 클래스 혹은 변수등을 구현하면 된다.
## my_module.py
my_module_var = 7

def my_module_func():
    return "Hello!"

class MyModuleClass:
    pass

그 후 다른파일에서 불러와 사용하면 된다.

3. 모듈 사용 <import>

# import 모듈이름
import my_module  # 파일확장자 .py는 제외

원하는 모듈을 import 한 후에는, 다음과 같이 모듈의 원하는 변수/함수/클래스를 사용 가능

import my_module

#모듈이름.원하는 함수/변수/클래스
my_module.my_module_var


print(my_module.my_module_var)
>>> 7

모듈 2개 사용하기


4. from.. import..

모듈이름 없이 바로 함수, 변수, 클래스 등등 사용 가능하다.

# from 모듈이름 import <함수/변수/클래스1>, <함수/변수/클래스2>, ..., <함수/변수/클래스N>
from my_module import my_module_func, my_module_var

print(my_module_var)
print(my_module_func())

>>> 7
>>> "Hello!"


 # "*" 을 사용하면 해당 모듈의 모든 요소가 import 된다. 
from my_module import *

print(my_module_var)
>>> 7

하지만 * 사용을 권장하지 않음

왜냐하면 local scope를 가지고 있는 다른 변수/함수/클래스 들과 이름 충돌이 날 수 있는데, 만일 이름 충돌이 일어났을 경우 알기가 쉽지 않을수 있기 때문이다.


5. 새로운 이름 as

예를 들어 동일한 이름의 함수가 있거나 이름이 너무 길 때 새로운 이름을 정해줄 수 있다.

from my_module  import my_func as f1
from my_module2 import my_func as f2
from my_module3 import function_with_name_too_long as f3

f1()
f2()
f3()


#모듈이름도 가능
import my_module as m1

m1.my_module_func()

6-1. Packages

모듈을 묶어서 관리하는 패키지

dot notation(.) 으로 해당 package의 원하는 모듈을 import

import pkg.mod1
from pkg.mod2 import func2

pkg.mod1.func2()
func2()

6-2. Package Initialization

파이썬은 __init__.py 파일을 통해 package 초기 설정을 가능하게 해준다.

Package 안에 __init__.py 파일이 있으면 package가 import 될때 __init__.py 파일의 코드들이 자동으로 실행된다.

초기설정이 왜 필요할까?

  • Import 할때 경로의 총 길이 줄여주기
  • Package에서 import 할 수 있는 변수/함수/클래스 제한하기
  • 그 외 package가 import될때 꼭 먼저 실행되어야 하는 코드들

7. 다른 사람의 package 사용하기

다른 사람이 만든 package를 import 하여 사용하기 위해서는 먼저 package를 설치를 해야 한다.

예를 들어, Django 라는 package를 사용하기 위해서는
pip 라는 툴을 사용하면 된다.

터미널로 이동 후

pip install Django 

좋은 웹페이지 즐겨찾기