본문 바로가기
취미부자/취미1_코딩

패스트캠퍼스 챌린지 17일차 / 모듈만들기 / 패키지

by 연습중인최 2021. 11. 17.
반응형

 

 


--오늘의 학습 범위--

 

Ch 09. 모듈

CH09_02. 모듈만들기

CH09_03. 패키지


크롤링등의 다른 외부 라이브러리/ 다른 모듈 등을 사용할 때 사용하는 경우가 많으므로, 반복해서 연습해보기


 

CH09_02. 모듈만들기

 

- 1. 모듈 만들기

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# 결제 정보, 관리 모듈
# 변수
version = 2.0
 
#함수
def printAutoor():
    print("스타트코딩")
 
#클래스
class Pay:
    def __init__(self, id, price, time):
        self.id = id
        self.price = price
        self.time = time
    def get_pay_info(self):
        return f"{self.id} {self.price} {self.time}"
 
 
# 해당 파일을 직접 실행했을 때만 실행된다.
if __name__=="__main__":
        print("pay module 실행")
 
# name라는 변수가 main과 같았을때만 실행된다.
# 즉 자기자신의 파일을 직접 실행했을때만  main이라는 이름으로 들어감
cs
 

- 2. 만든 모듈 불러오기

//경고 : 모듈형태로 읽어오지 못함 -> 루트 폴더에 있는 것만 인식하기 때문에 --> 셋팅에서 경로 지정해주기

VSCode 프로그램에서

file --- settings ------오른쪽 위 아이콘 클릭

settings.json 파일에서 중간쯤에

"python.analysis.extraPaths":["./myvenv/Chapter9"],

붙여주기

myvenv / Chapter9 -> 폴더

myvenv Chapter9를 같이 모듈형태로 받아오는 것을 실행하겠다.   --> 모듈 인식함

 

 

 


CH09_03. 패키지

 

- 패키지의 개념:

관련 있는 모듈을 하나의 폴더로 구성해 놓은 것.

 

 

- 패키지 만들고 , 사용하기

◼ startcoding /

          unit /

                __init__.py

                character.py

                item.py

                monster.py

           main.py

//startcoding이라는 폴더 안에 unit이라는 패키지가 있음. 그 안에 4개의 파이썬 파일을 만들어 준다.

 main.py에서는 unit 안에 있는 패키지들을 실행한다.

 

 

폴더 구조 참고

 

 

 

 

main.py에서 import하기 위해 settings.json 파일에서 startcoding 폴더 추가하기 

 

 

-패키지 사용하는 4가지 방식

# 1. import 패키지. 모듈
import unit.character
unit.character.test()

# 2. from 패키지 import 모듈  // 훨씬 많이 사용함

from unit import character
character.test()

# 3. import하고 패키지 쓰기
# from 패키지 import *  //* 은 '모든' 을 뜻하는 기호

from unit import *   # *를 쓸 때는   __init__.py 을 수정해야 함.
character.test()
item.test()
monster.test()

__init__.py

1
from . import character, item, monster     # 현재 위치의 (패키지 안에 있는) 모듈을 다 인폴트해라
cs
# 4. import 패키지  // 패키지 자체를 import해서 사용하는 경우
# 마찬가지로 __init__.py 모듈을 3번과 같은 상태로 만들어야 함.

import unit
unit.character.test()
unit.item.test()
unit.monster.test()

 

 

그래도 야금야금 이만큼 왔어. 토닥토닥~

 

 

 

link : 

https://bit.ly/3FVdhDa

 

수강료 100% 환급 챌린지 | 패스트캠퍼스

딱 5일간 진행되는 환급챌린지로 수강료 100% 환급받으세요! 더 늦기전에 자기계발 막차 탑승!

fastcampus.co.kr

 

 

 

본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.

반응형

댓글