파이썬의 모듈에서 전체 모듈 내용보다는 모듈의 특정 변수 또는 함수가 필요할 때가 있다. from 키워드를 사용하면 지정한 모듈의 특정한 것만 사용할 수 있다. 변수가 될 수 있고, 함수가 될 수 있다. 다른 무엇이 될 수도 있다. from 키워드를 사용하면 이런 작업을 할 수 있고, 선택적으로 기능을 가져와 사용할 수 있다.
파이썬 모듈 변수 가져오기 from 키워드
using python module from keyword
파이썬의 모듈에는 여러가지가 들어 있을 수 있다.
클래스, 함수, 변수들이 있을 수 있고, 개별로 하나씩만 존재할 수 있다.
만약, 파이썬의 모듈에서 일부 변수값만 가져 오고 싶을 때가 있을 것이다.
모듈에서 변수값을 가져오는 함수를 따로 만들거나 점을 이용하여 모듈에 접근할 수도 있다.
다른 방법도 존재한다.
파이썬 모듈에서 내가 원하는 것만 가져오는 것이다.
선택적으로 가져오기
모듈의 전체 내용을 가져오는 것은 비효율적일 수 있다.
파이썬에서 모듈의 일부 기능만 가져오거나 혹은 일부 변수값만 가져오면 여러가지 측면에서 유리할 수 있다.
하드웨어가 계속 발전되는데 이게 무슨 소용이겠냐마는 과거 파이썬이 처음 공개되었을 당시는 그렇지 않았다.
그렇기에 알아두면 좋다.
선택적으로 모듈의 일부 기능만 가져오고 싶다면 from 키워드를 사용하면 된다.
from 키워드
이미 import 키워드와 as 키워드가 어떻게 사용되는지 파이썬을 공부한 사람이라면 알고 있을 것이다.
import 키워드는 파이썬 모듈을 가져온다.
as 키워드는 파이썬 모듈의 이름을 재정의한다.
그럼 from 키워드는 무엇을까?
from 키워드 또한 파이썬 모듈을 가져오는 키워드이지만 import 키워드와 함께 사용하여 의미가 달라진다.
from 모듈 import 변수 as 이름
위의 키워드는 의미는 아래와 같다.
모듈을 가져온 후 모듈의 사용할 변수를 이름으로 재정의하여 사용한다.
샘플코드
from, import, as 키워드를 사용하여 모듈과 모듈의 변수에 접근하여 값을 가져와 본다.
코드를 보면 알 수 있듯이 간단하다.
import 되는 모듈은 이전에 작성한 포스팅 내용을 참고한다.
print("----------")
import module_collection as colData
from module_collection import vDictionaryData as eachData
from module_collection import GetDictionaryData as funcData
vData = colData.GetDictionaryData()
print(type(vData), vData)
print("----------")
vData = eachData
print(type(vData), vData)
print("----------")
vData = funcData()
print(type(vData), vData)
print("----------")
비교를 위해 하나의 모듈을 가지고 import 와 from 키워드를 사용했다.
import 키워드를 사용하면 지정된 모듈의 전체내용을 가져올 수 있다.
from 과 import 키워드를 사용하면 모듈의 특정 변수만 가져올 수 있다.
변수가 아닌 함수를 지정하여 사용할 수도 있다.
결과화면을 보자.
모듈을 사용하던 변수만을 사용하던 함수만을 사용하던
선택적으로 모듈의 내용을 가져온 결과값은 동일하다.
효과적으로 어떻게 사용할지는 개발자 몫이다.
'programming > Python' 카테고리의 다른 글
파이썬 날짜 정보 가져오기 년월일시분초 python datetime infomation (0) | 2021.12.01 |
---|---|
파이썬 현재 날짜와 시간 표시하기 python datetime module now() method (0) | 2021.12.01 |
파이썬 빌트인 모듈 내장함수의 사용 using python built-in module (0) | 2021.11.30 |
파이썬 모듈 이름 재정의 하기 renaming python module name (0) | 2021.11.29 |
파이썬 모듈 변수 사용하기 useing variable in module (0) | 2021.11.28 |
댓글