inflearn logo
강의

講義

知識共有

Pythonの基礎から実務までpart.4

オブジェクト指向プログラミング-2(演習-5)

파이썬 객체지향 강의 ) 메인 파일 실행이 안되는 이유?

703

wangjihee20176491

投稿した質問数 1

0

클래스 2개랑 메인파일 1개, 총 3개의 .py파일을 연결해서 실행을 하고 싶은데 메인파일을 실행하면 아무 일도 일어나지 않습니다. 뭐가 문제일까요? 

 

# 슈퍼 클래스 Phone 정의

class Phone :
def __init__(self):
self.model = ""
self.color = ""


#메서드 정의
def powerOn(self):
print("전원을 켭니다.")
def powerOff(self):
print("전원을 끕니다.")
def bell(self):
print("띠리링~!")
def sendVoice(self, message):
print("발신 : " + message)
def receiveVoice(self, message):
print("수신 : " + message)
def hangUp(self):
print("전화를 끊습니다.")

 

 

# 폰클래스의 자손 클래스인 DmbPhone

from phone import *

class Dmbphone(Phone):
def __init__(self, model, color, channel):
#super().__init__()
Phone.__init__()

self.model = model
self.color = color
self.channel = channel

def turnOnDmb(self):
print(f"채널 : {self.channel}번 방송수신을 시작합니다.")

def turnOffDmb(self):
print("방송수신을 멈춥니다.")

def changeChannel(self, channel):
print(f"{self.channel}번으로 채널을 변경합니다.")
 
 
 
 
 
 
 
 
 
# 폰클래스와 디엠비폰 클래스를 이용하여 <메인코드> 작성

from Dmb import *


if __name__ == "__main___" :

dm1 = Dmbphone("애플미니", "실버", 10)
print("모델:" ,dm1.model)
print("색상:" ,dm1.color)
print("채널:" ,dm1.channel)

dm1.powerOn()
dm1.bell()
dm1.sendVoice("여보시오!")
dm1.receiveVoice("댁은 누구시죠?")
dm1.sendVoice("나는 000이란 사람이오.")

dm1.hangUp()

dm1.turnOnDmb()
dm1.changeChannel(33)
dm1.turnOffDmb()

파이썬 python

回答 1

1

hoyun0131

아무것도 안나오시는게 맞나요. 

DmbPhone 의 생성자에서 Phone 생성자를 부를때 self 가 빠졌다고 에러가 나올 것 같아요 .

Phone.__init__(self) 를 하시거나 주석표시하신 부분을 이용하시면 될 것 같네요

부모클래스 생성자 호출을 하지 않아도 결과는 나오더라고요 

class DmbPhone(Phone):
def __init__(self, model, color, ch):

self.model = model
self.color = color
self.ch = ch

0

wangjihee20176491

답변 감사합니다만 여전히 작동이 안되네요!

실행부분에 있는 print()도 한줄도 안나오는 걸보면 뭔가 문제가 있는 것 같은데 에러 메시지가 안떠서 알 수 가 없네요! 그래도 답변 감사합니다.

0

hoyun0131

이거 그대로 복붙하고 확인해봤습니다.

메인부분 가장 최상단에 print('printTest') 입력해서 실행시켜보니 이것 조차 안나오더라고요 .

그래서 제가 다시 확인해보니 !

if __name__=="__main__" 이 부분에서 "__main___" 이렇게 작성된 것을 확인했습니다. 

'main' 뒷 부분 '_' 언더바가 3개가 입력된 거죠.... : )

아마 앞서 생성자 부분이랑 "__main___" 을 고치시면 제대로 출력될 것 같습니다!

0

wangjihee20176491

와우 저 부분 몇번은 본거 같은데도 잘못된 줄 몰랐네요! 덕분에 하나 배워갑니다. 다음엔 언더바 세개쓰는 일은 없을 것 같아요. ㅎㅎ 답변 달아주신 덕분에 미루던 인프런 접속도 합니다! 즐거운 주말 보내세요. 정말 감사합니다!

프롬프트의 영문 버전을 만들 때, 출력 규칙에 포함된 한글 부분은 영어로 번역하지 않고 그대로 유지하면서, 영문 편과 한글 편을 한 번에 함께 출력하려면 어떤 워크플로우로 구성하면 좋을까요?

0

6

0

프로그램은 뭘 사용하시는 건가요??

1

10

2

수업자료와 노션 공유 문제

0

16

3

python run.py 실행시 에러 문제

1

28

2

조건 반복문 질문: for 문 ?

0

21

0

54강 4분 41초에서 질문 있어요.

0

18

1

커서창

1

30

2

강의 제작

1

34

1

23강 질문드립니다, 강사님.

0

22

1

import

0

17

1

45강 예제4번에서 질문 있어요!

0

28

1

45강 강의 10분 03초 내용에서 x + 1 을 하는 이유는 뭔가요?

0

24

1

Json.stringify 관련 오류일까요?

0

24

2

3강, 7강 화면이 안나옵니다. 그냥 검은화면으로만 노출되요;;

0

28

1

cursor 환경

1

36

2

Gradio 실행 시 에러 발생 문의

0

33

2

Gradio 실행 시 Jinja2 / ASGI TypeError: unhashable type: 'dict' 에러 문의

0

37

2

안녕하세요, 강의자료 요청드립니다

0

25

1

개발 환경 준비와 프로젝트 구조 강의 관련

1

30

2

자료실 문의합니다. AIDU 툴 다운받으려고합니다.

0

21

1

실습 3번이랑 4번의 차이가 뭔가요?

0

301

0

사각형 좌표값 질문

0

318

0

Part 14 프로그래밍-2(실습-2) 에 특수메서드 설명시 len 을

0

212

0

2. 특수 메소드/ 3) 특수 메소드를 이용한 사례에 대해서

0

282

1