>백엔드 개발 >파이썬 튜토리얼 >Python의 TypeError 오류 솔루션에 대한 자세한 설명

Python의 TypeError 오류 솔루션에 대한 자세한 설명

高洛峰
高洛峰원래의
2017-03-27 16:52:1614406검색

초보자는 Python을 배울 때 많은 함정에 빠지게 됩니다. 아래에서 그 중 하나에 대해 자세히 이야기해 보겠습니다.

Python으로 객체 지향 프로그램을 작성할 때 초보자는 TypeError 오류가 발생할 수 있습니다. 이 생성자는 인수를 사용하지 않습니다.

예를 들어 다음 프로그램은 다음과 같습니다.

class Ball:
def _init_(self,color,size,direction):
self.color=color
self. size= 크기
                                                                                                사용 사용 사용 '            through through ’ through out through out through out through out through ’' s ‐ ‐‐ ‐ and ‐ to myBall=Ball("red","small", "down")
print "나는 방금 공을 만들었습니다."
print "My ball is",myBall.size
print "My ball is" ,myBall.color
print "내 공의 방향 is",myBall.direction
print "이제 공을 튕기겠습니다"
print
myBall.bounce()
print " 이제 공의 방향은",myBall.direction


은 실행 시 오류를 보고합니다:

====================== == RESTART: H:pythonbounce1. py ======================

추적(가장 최근 호출 마지막):

파일 "H:pythonbounce1.py", 11번째 줄,

myBall=Ball("red","small","down")

TypeError: 이 생성자는 인수를 사용하지 않습니다



오류는 Python에서 생성자의 쓰기 형식이 _init_ 대신 __init__이라는 것입니다. 즉, init의 양쪽에 단일 밑줄이 아닌 이중 밑줄이 있다는 것입니다.

은 다음과 같이 수정됩니다.

class Ball:

def __init__(self,color,size,direction):

self.color=color

self.size= size

Self.direction = 방향

DEF BOUNCE(SELF):
If Self.direction == "DOWN":
Self.direction = "Up"

MyBall =Ball("red","small","down")
print "방금 공을 만들었습니다."
print "My ball is",myBall.size
print "My ball is" , myBall.color
print "내 공의 방향은",myBall.direction
print "이제 공을 튕길 것입니다."
print
myBall.bounce()
print " 이제 공의 방향은 ",myBall.direction


올바른 실행 결과입니다.

================== == ==== RESTART: H:pythonbounce1.py =======================
방금 공을 만들었습니다.
내 공 작습니다

내 공은 빨간색입니다

내 공의 방향은 아래입니다

이제 공을 튕기려고 합니다


이제 공의 방향은 위입니다

위 내용은 Python의 TypeError 오류 솔루션에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.