inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

파이썬(Python) 기초부터 실무까지 part.4

객체지향 프로그래밍-2(실습-5)

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

681

열심인 까마귀

작성한 질문수 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

열심인 까마귀

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

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

0

hoyun0131

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

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

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

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

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

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

0

열심인 까마귀

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

도커 컨테이너 생성 과정 오류 질문입니다.

0

16

1

평가지표 F1 스코어 질문드립니다.

0

12

2

강의 일정

0

19

2

replit에서 developer frameworks가 안보여요

0

12

2

Notion 권한 승인 요청 드립니다.

0

16

1

가상환경 설정시 문의

0

20

2

개발환경에 대해셔 설명부탁드립니다.

0

16

1

파트9 강의는 언제 오픈하시나요

0

20

2

20년 4,5회 13번

0

17

1

작업형 2 기출7회분에서

0

25

2

11. 데이터를 목록화하는 리스트와 튜플 에서 콘솔 실행시

0

19

1

ZIP 파일

0

21

2

26강 13F 강의 불일치 및 질문 요청

0

25

3

[업로드오류] 강의 내용과 제목 불일치

0

23

2

강의와는 별개로...

0

31

3

[예제002] 에서 파인썬 인터프리터가 없습니다

0

33

3

65강 소리

0

19

1

작업형2 모의문제1 (30강)

0

25

2

섹션 5 CSS selector사용해서 클로링하기2의 커리큘럼 일정 부재?

0

17

2

가상환경 초반 에러_create name

0

27

1

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

0

283

0

사각형 좌표값 질문

0

304

0

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

0

201

0

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

0

259

1