저는 파이썬에 상당히 익숙하며 파이 게임으로 게임을 만드는 것에 관한 책을 읽었습니다. 나는이 책에서이 코드 조각을 발견했다. 왜 Sprite.__init__(self)
이 필요한지 이해가 안됩니다. 나는이 주석으로 코드를 실행했으며 같은 방식으로 실행됩니다. 이가 왜 사람들이 초기화 부르는 이유__init__의 용도는 무엇입니까?
class Creep(Sprite):
def __init__(
self, screen, img_filename, init_position,
init_direction, speed)
Sprite.__init__(self)
self.screen = screen
self.speed = speed
self.base_image = pygame.image.load(img_filename).convert_alpha()
self.image = self.base_image
누구나 어떤 생각을 가지고?
그것은 클래스 객체의 인스턴스의 생성자의 역할을 단지 특별한 방법입니다. (클래스를 생성하는 생성자도 있습니다.) 원하지 않으면 필요하지 않습니다. ''자기''는''이 말'이라고하는 대회 이름 일 뿐이다. 이것을''__init__''와 같은 클래스 메소드는 자신을 참조 할 필요가 있고 첫 번째 인자는 항상''self''가 될 것입니다. 클래스의 static 메서드는 예외입니다. 그러나 당신이 입문과 자기 목적을 이해할 때까지 거기에 가지 못하게하십시오. – CppLearner
'Sprite (self)'는'Sprite .__ init __ (self)'와 똑같은 것을 얻지 만 아직 그렇게 할 인스턴스를 만듭니다. 이 사용법은 결과 인스턴스를 취하지 않고'__init__' 메소드를 호출하기 때문에 조금 이상합니다. – mfitzp
'클래스 크립 (Sprite) :'이 주목합니다 - 현재 클래스에서'super (Creep, self) .__ init __()'을하는 것과 같습니다. – mfitzp