파이썬 import from 원리 사용법
파이썬과 같은 프로그래밍 코드를 작성할 때 처음부터 끝까지 혼자서 모든 코드를 작성하기란 여간 어렵고 힘든 과정이 아닐 수 없다.
파이썬이 대중들에게 인기가 있는 이유 중 하나는 미리 자주 사용되는 함수와 기능들을 구현해 놓고 불러와서 사용할 수 있도록 매우 편리하게 만들어 졌기 때문이다.
사실 이런 과정은 우리가 학창 시절에 수학 문제를 풀 때도 마찬가지로 근의공식이나 피타고라스의 정리, 미분 과 적분에 관한 공식을 알고 이를 바탕으로 계산하는 것과 동일하다. 이것이 매우 효율적이기 때문에 이렇게 하지 않으면 좋은 수학점수를 받지 못하는 것처럼 말이다.
모듈 Moduel 이란?
앞서 말한 수학 공식처럼 파이썬 개발자들은 미리 모듈(Module) 이라는 객체 형태를 만들고, 그 객체 내부에 자주 사용되는 함수와 변수들의 구조와 동작원리를 미리 지정해 놓았다. 모듈의 정의와 사용방법에 대한 내용이 더 궁금한 사람은 파이썬 홈페이지에서 제공하는 설명서를 참고해 보기를 바란다.
https://docs.python.org/release/3.9.0/py-modindex.html
간단하게 예시를 들어 설명해 보면 다음과 같다. 위 코드를 실행해보면 결과값으로 1.2246467991473532e-16 가 출력되는 것을 확인할 수 있다.
import math
print(math.sin(math.pi))파이썬에서는 인터프리터에 전달하기 위한 방법으로 모듈이름.함수 또는 모듈이름.객체 의 형태를 사용한다. math.sin은 math모듈에서 sin함수를 가져와 사용한다는 의미이고, math.pi는 math모듈에서 pi변수를 가져와 사용한다는 의미이다.
Python에서 지원하는 함수와 모듈 함수의 차이
파이썬 지원 함수 (내장함수 Built-in function)
파이썬에 미리 내장되어 있는 함수들이다. print(), input()과 같은 함수 들이 있다. 파이썬에서 정말 자주 사용되고 또 꼭 필요한 함수들이 모여 있다. 이미 파이썬에 내장되어 있기 때문에 그냥 파이썬에서 바로 사용이 가능하고 따로 불러오거나 무엇을 설치하는 과정이 필요가 없는 함수들이다.
파이썬 미지원 함수 (모듈함수 Module function)
파이썬에서 내장되어있지 않은 함수를 모듈 함수라고 부른다. 모든 함수를 파이썬에 내장하면 좋겠지만 그러면 파이썬이 너무 무거워지고 성능이 저하된다. 따라서 개발자들이 자신들이 필요한 함수만을 스스로 만들거나 불러와서 사용할 수 있도록 모듈이라는 함수를 만들어서 사용하게 된 것이다.
파이썬 import 원리
그럼 어떻게 하면 모듈 함수를 사용할 수 있을까?
앞서 사용한 코드에는 import math라는 코드가 포함되어 있었다. 이 과정을 임포트라고 하는데 간단히 이야기하면 모듈 함수를 불러오는 과정이다. 무작정 모듈을 사용하러고 하면 파이썬은 모듈을 불러오지 못한다. 파이썬에게 어디서 모듈을 불러올 수 있는지를 알려주는 과정이 임포트이다. 모듈 함수를 사용하기 위해서는 모듈을 불러오는 import만 추가해 주면 된다. 엄청 간단하지 않은가?
임포트라는 과정을 통해 다른 사람들이 만들어 놓은 함수나 기능을 편하게 불러와 사용할 수 있다는 것이 파이썬 언어가 가진 가장 큰 장점이다.
사용법은 간단하다. import 모듈명 이다.
import math
import numpy모듈을 불러오는 과정에서 예시를 들어 설명해 보도록 하자. 아래 코드는 import를 통해 math 모듈을 불러왔고 math 모듈안에 있는 sin함수를 사용하려고 했지만 오류가 나왔다.

sin함수가 math라는 모듈에 속해있다는 점을 math.sin 이라는 형태로 알려주었더니, 인터프리터가 코드를 잘 해석해서 결과를 출력해주었다. pi역시 마찬가지이다. math.pi를 통해 pi라는 변수가 math모듈에 작성되어 있다는 점을 알려주었더니 정상적으로 동작하였다.

위의 두 예시를 통해 알아본 것처럼, 모듈에 속해있는 어떤 함수나 변수를 사용하기 위해서는 일반적으로 모듈이름.함수 또는 모듈이름.객체 의 형태로 사용해야한다.
또, 파이썬 인터프리터는 기본적으로 첫 번째 줄의 코드부터 아래로 해석하기 때문에, 사용하고자 하는 모듈을 사용하는 코드보다 앞줄에서 미리 import해야 한다.
파이썬 import 원리 (from 사용방법)
그럼 매번 파이썬 모듈을 불러올 때 모듈이름.함수이름 과같이 매번 모듈이름을 써 줘야 할까? 이건 매우 귀찮은 일이다. 그래서 모듈이름을 쓰지 않고 모듈 속에있는 함수와 변수를 사용할 수 있는 방법이 있다.
1. from 모듈명 import (함수 or 변수 , 함수 or 변수 , 함수 or 변수, …)
모듈내에 있는 몇가지 함수나 변수만을 사용할 때 import 뒤에 사용하고자 하는 함수나 변수명을 작성하고 상용하면 된다. 아까는 분명 오류를 내보내는 코드였는데 지금은 정상 작동하는 것을 확인할 수 있다.

2. from 모듈명 import *
위에 방법에서는 모듈내 내가 사용하고자 하는 함수를 꼭 지정해줘야 한다. 혹시라도 모듈내에 있는 다른 함수를 사용할 때 지정이 되어 있지 않다면 또 에러를 발생시킬 수 있다.
이럴 때 일일이 import * 을 이용하면 모듈내에 존재하는 함수와 변수를 사용할 때 모듈명. 을 붙이지 않고도 이름만 가저와서 사용이 가능하다.

지금까지 파이썬에서 모듈을 사용하는 방법에 대해 알아보았다. 가장 기본적이면서도 굉장히 자주 사용하는 개념이니 반드시 숙지하고 사용하면 좋을 거 같다.
끝.