inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

프로젝트를 통해 배우는 파이썬 프로그램

자판기 프로그램(클래스 편)

클래스 질문드립니다.

해결된 질문

319

심야

작성한 질문수 21

0

'texts.insert_coin' , 'texts.title' 코드를 보면 상속을 받지 않고서도 coffeeVM class 에서 texts 클래스의 속성이나 메소드를 사용할 수 있는 것 같은데 어떻게 가능한지 이해가 안갑니다 설명 부탁드립니다 ㅠㅠ

class texts:
    title          = "#### 클래스 %s 자판기 입니다. ####"
    product        = "%s:%s(%s원)"
    insert_coin    = "동전을 넣어 주세요. : "
    n_enough_coin  = "동전이 부족합니다.\n거스름돈은 %s원 입니다."
    select_product = "원하시는 상품번호를 선택하세요."
    select_fault   = "잘 못 누르셨습니다."
    product_out    = "선택하신 %s 입니다. 거스름돈은 %s원 입니다.\n감사합니다."

class CoffeeVM(Product):
    _name = "커피"
 
    def __init__(self):
       # 사용자가 자판기 종류를 선택하면 _name 출력한다.
       # instance 생성하면 자판기 종류에 따라 texts.title %self._name 출력
       print( texts.title %self._name)
 
    def run(self):
        while True:
           try:
               inputCoin = float(input(texts.insert_coin))
           except ValueError:
               # 잘못된 값을 입력받으면 에러 메시지를 출력한다.
               print(texts.select_fault)

iot python Raspberry-Pi

답변 2

1

노마드크리에이터

안녕하세요?

이건 상속의 개념이 아니고 공통으로 사용하는 내용을 texts클래스로 만들어서 불러와서 쓴 겁니다.

같은 파일 안에 texts가 있으므로 불러와서 그냥 쓰는 것이지요. 여기서는 공통으로 사용하는 메시지 상수들을 texts라는 클래스로 만든 것데 꼭 이렇게 하지 않아도 됩니다.

감사합니다.

0

심야

감사합니다! 

dict, zip

0

11

2

노션 : 파트3번 링크와 권한 , 파트4번 권한요청, 파트 5번도 미리 요청 드립니다.

0

18

4

6-6 실습 문의

0

13

2

미션 06-02

0

16

2

yes24 수집 md 파일 만들 때

0

16

2

python main.py 실행시 게임이 실행이 안돼요

0

16

2

antigravity 대신 cursor를 활용해도 되나요?

0

22

1

뉴스 검색 분류 한도초과

0

31

2

완성자료

0

18

2

섹션5 노션링크 는 따로 없나요?

0

20

2

필기자료 사라졌나요?(실기 일주일만에 안돼서 재도전-_-)

0

28

2

Part 4에서 강의 연관 노션 정보들이 워드파일에 없습니다.

0

29

2

첨부자료 Part 4 코드 확인 부탁드리겠습니다.

0

22

2

13강 프로젝트생성해보기 관련 질문

0

17

3

질문 드립니다.

0

41

2

강의 소스코드는 어디서 찾을 수 있을까요?

0

301

2

코드가 이상해서 문의 드립니다.

0

375

1

파이썬 바로가기 아이콘 & Run module

0

1640

2

I cannot find the file

0

295

3

파이썬 핵심강의

0

256

1

각종 예제 소스 파일들 위치

0

297

1

학습 동영상에 오류가 있습니다.

0

214

1

python에서 dict를 합치는 방법여쭤봅니다.

0

294

0

소스 코드

0

344

1