나는 문제가이 클래스에 대한 자체 기준이 코드에서 어떻게 작동하는지 이해하는 데 :파이썬 - 자체 참조 클래스 (벡터 또한 마법 연산자를 사용하여)
class Vector2D:
def __init__(self, x, y):
self.x = x
self.y = y
def __add__(self, other):
return Vector2D(self.x + other.x, self.y + other.y)
first = Vector2D(5, 7)
second = Vector2D(3, 9)
result = first + second
print(result.x)
print(result.y)
- 그냥 있는지 확인하기를 I 마법 방법이 어떻게 작동하는지 이해하고 있는데, 에서 other
은 second
을 가리 킵니다.
- 편집 : 고마워, 내 생각에 other
에 관한 내 혼란을 해결합니다. 나는 아직도이 줄하지만 어떻게 작동하지 않습니다 return Vector2D(self.x + other.x, self.y + other.y)
이 클래스 Vector2D
가 인수 other
오른쪽 second
을 의미
"이 줄이 어떻게 작동하는지 아직 모르겠습니다 :'return Vector2D (self.x + other.x, self.y + other.y)'"- 정확히 당신을 혼란스럽게합니까? –
Python은 "new"키워드를 사용하여 클래스의 새 객체를 인스턴스화하지 않습니다. 구성은 단순히 함수 호출입니다. 따라서'Vector2D (...)'는'Vector2D' 클래스의 새로운 인스턴스의 생성입니다. 내부적으로,이 구조는'__new__' 메쏘드와'__init__' 메쏘드를 호출합니다.매개 변수는이'__init__' 메소드로 보내집니다. 클래스에 대한 튜토리얼을 읽어야한다 : https://docs.python.org/2/tutorial/classes.html –
잘 설명 할 수있을 지 모르겠지만, 참고 튜토리얼은 클래스 내부에서 클래스가 호출됩니다. | 내부 클래스를 호출하여'__init__'에서 인스턴스를 생성 할 수 있습니까? – whiteredblack