강의

멘토링

커뮤니티

Cộng đồng Hỏi & Đáp của Inflearn

Hình ảnh hồ sơ của simya
simya

câu hỏi đã được viết

Học lập trình Python qua dự án

Chương trình máy bán hàng tự động (phiên bản lớp)

클래스 질문드립니다.

Đã giải quyết

Viết

·

294

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)

iotpythonRaspberry-Pi

Câu trả lời 2

1

nomad님의 프로필 이미지
nomad
Người chia sẻ kiến thức

안녕하세요?

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

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

감사합니다.

0

simya님의 프로필 이미지
simya
Người đặt câu hỏi

감사합니다! 

Hình ảnh hồ sơ của simya
simya

câu hỏi đã được viết

Đặt câu hỏi