inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

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

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

712

열심인 까마귀

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

멍멍이

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

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

멍멍이

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

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

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

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

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

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

0

열심인 까마귀

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

영상 다운로드는 안되나요?

0

8

0

수강자료 다운로드 관련 문의

0

14

2

Opus/Sonnet 버전 관련 문의

1

15

2

"run_nvidia_gpu.bat" 실행후

0

12

1

섹션2 질문이요

1

16

2

섹션 2

0

12

1

섹션1.9 질문입니다!

1

24

3

웹서비스 방법

0

20

1

MCP 정의가 잘못되어 있음 (Chapter2)

0

21

1

수강 연장 문의드립니다.

0

28

2

13. (App 2) 기본기 훈련 에서

0

29

1

채점 프로그램 미작동

0

22

2

챌린지 시작일 문의

0

35

0

2. 어떤 도구를 사용하는 것이 가장 유리할까? 강의 중

0

27

1

안녕하세요 ppt 자료 메일로 부탁드립니다

0

18

1

11차시 Antigravity IDE 설치 후

0

30

1

링크드 리스트 중간 삽입삭제 시간복잡도 질문

0

28

1

Kaggle 노트북(predict.ipynb) 관련

1

33

2

처음 에이전트 설정을 잘못 했을 경우 수정 하는 방법

0

34

1

강의 연장 문의

0

33

2

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

0

306

0

사각형 좌표값 질문

0

321

0

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

0

216

0

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

0

283

1