본문으로 바로가기

패키지

category onYouTube/Python 2021. 3. 15. 15:19

- "패키지" : 모듈의 집합

 

  • import 모듈명
  • import 패키지명
  • from 패키지명 import 모듈명
  • from 패키지명.모듈명 import 클래스명

- "import 클래스명" 또는 "import 함수명"는 사용할 수 없음

- "from 패키지명 import *"를 사용할 때는 __all__ = ["모듈명1", "모듈명2", ...]로,

   패키지 안에서 import 되기를 원하는 것만 명시해, 공개 범위를 설정해줘야 함

 

"""
패키지 : travel
	↳ 모듈 : france.py
		 ↳ 클래스 : FrancePackage
		germany.py
		 ↳ 클래스 : GermanyPackage
		__init__.py
"""
#france.py

class FrancePackage:
	def detail(self):
    	print("[프랑스 패키지 6박 7일] 파리 효도 여행 200만원")
#germany.py

class GermanyPackage:
	def detail(self):
    	print("[독일 패키지 6박 7일] 베를린 여행 180만원")
#__init__.py

__all__ = ["france", "germany"]
#case1_모듈 import
import travel.paris

trip_to = travel.paris.ParisPackage()
trip_to.detail()


#case2_해당 모듈의 클래스 import
from travel.paris import ParisPackage

trip_to = ParisPackage()
trip_to.detail()


#case3_해당 패키지의 모듈 import
from travel import germany

trip_to = germany.GermanyPackage()
trip_to.detail()


#case4_해당 패키지의 모든 것 import
from travel import * # __all__을 사용해 공개 범위 설정 필요
trip_to = germany.GermanyPackage()
trip_to.detail()

 

- 모듈을 직접 실행했는지, 모듈 외부에서 모듈을 호출했는지 조건문으로 확인할 수 있음

class FrancePackage:
	def detail(self):
    	print("[프랑스 패키지 6박 7일] 파리 효도 여행 200만원")
        
if __name__ == "__main__":
	print("france 모듈을 직접 실행")
    print("이 문장은 모듈을 직접 실행할 때만 실행")
    trip_to = FrancePackage()
    trip_to.detail()
else:
	print("france 외부에서 모듈 호출")

 

- 패키지, 모듈의 위치를 반환할 수 있음

  • inspect.getfile(모듈명)
#case1
import inspect
import random

print(inspect.getfile(random))


#case2
import inspect
from travel import france

print(inspect.getfile(france))

 

- 터미널에 pip install 패키지명을 입력하면, 패키지를 설치할 수 있음

  • pip install 패키지명

- 터미널에 pip list를 입력하면, 현재 설치되어 있는 패키지를 볼 수 있음

  • pip list

- 터미널에 pip show 패키지명을 입력하면 패키지 정보를 볼 수 있음

  • pip show 패키지명

- 터미널에 pip install --upgrade 패키지명을 입력하면 패키지를 업그레이드 할 수 있음

  • pip install --upgrade 패키지명

- 터미널에 pip uninstall 패키지를 입력하면 패키지를 설치 제거하거나 삭제할 수 있음

  • pip uninstall 패키지명

 

 

-출처-

www.youtube.com/watch?v=kWiCuklohdY&t=20113s

'onYouTube > Python' 카테고리의 다른 글

외장함수  (0) 2021.03.15
내장함수  (0) 2021.03.15
모듈  (0) 2021.03.15
Finally  (0) 2021.03.14
에러 발생시키기  (0) 2021.03.14