[Programming]/[Dig]

[Python] import / from import 차이

김파고띠 2022. 6. 11. 23:44

| General

차이점 구분
구분 import __ from 모듈 import * from 모듈 import __
설명 모듈을 불러오는 것 모듈로부터 모두(*) import 모듈로부터 특정한 것만 import
형태 모듈 이름 함수 이름 (단독) 모듈 이름, 함수 이름
추가 사항 :
패키지 혹은 모듈 둘 다

 


 

| 왜 import, from import를 구분해서 쓸까?

1개 이상의 패키지에서 함수명이 중복이 될 때 오류를 방지하기 위함

from numpy import *
from math import *

exp([1,3,5]) # numpy의 exp 함수를 의도했다면 오류

이럴 때

1. 패키지 명을 포함한 함수 형태를 사용 ( Ex. numpy.exp() )

2. 필요한 함수만 from import로 따로 가져오는 방법 ( Ex. from numpy import exp )

을 통해서 오류 방지


| Example_Code

# import 패키지
import math
import numpy as np #패키지 별칭 사용 가능
math.exp(1,3,5)
np.exp([1,3,5])

# from 패키지 import 함수
from numpy import exp
from numpy import array as ar #함수 별칭 사용 가능
exp([1,3,5])
ar(11)

# from 패키지 import *
# exp뿐만이 아닌 모든 함수를 가져온 것

# numpy 패키지에서 exp 함수만 가져온 것
from numpy import exp

+

모듈은 누군가 만든 파이썬 파일(.py)이며, 이것을 모아둔 폴더를 패키지라고 한다.

모듈 안에는 함수뿐만 아닌, 변수나 클래스도 존재하고 가져다 쓸 수 있다.


Reference :

1. https://coding-kindergarten.tistory.com/73

2. http://cloudrain21.com/python-difference-between-import-from-import

3. https://jimmy-ai.tistory.com/148