2017-03-19 2 views
1

비어있는 생성자를 만들 수있는 방법이 있습니까?파이썬 비어있는 생성자

class Point: 
    def __init__(self, x, y, z): 
     self.x = x 
     self.y = y 
     self.z = z 

가 지금은 이런 식으로 초기화 :

p = Point(0, 5, 10) 

나는 빈 생성자를 생성하고 이런 식으로 초기화 할 수 있습니다 방법 :

p = Point() 
+3

을 그리고 두 번째 버전의 x, y 및 z는 무엇을해야합니다 : 귀하의 경우

,이 일을해야합니까? 기본 주장 만 듣고 싶지 않아? 자습서를 읽으려고했거나 조사를 해본 적이 있습니까? – jonrsharpe

답변

-2
class Point: 
    def __init__(self): 
     pass 
+0

그러나 이것은 현재 구현과 공존 할 수 없습니다. 그 이름을 가진 하나의 메소드 만 유지됩니다. – jonrsharpe

+0

이 코드는 질문에 대답 할 수 있지만 문제를 해결하는 방법 및/또는 이유에 대한 추가 컨텍스트를 제공하면 대답의 장기적인 가치가 향상됩니다. –

6

로를 나는 클래스가 @ jonrsharpe는 주석에서 기본 인수를 사용할 수 있다고 말했습니다.

class Point: 
    def __init__(self, x=0, y=0, z=0): 
     self.x = x 
     self.y = y 
     self.z = z 

이제 Point()

2

당신은 선택적 매개 변수로 Point 클래스의 __init__() 방법을 정의해야 호출 할 수 있습니다.

class Point: 
    def __init__(self, x=0, y=0, z=0): 
     self.x = x 
     self.y = y 
     self.z = z 

pointA = Point(0, 5, 10) 
print("pointA: x={}, y={}, z={}".format(pointA.x, pointA.y, pointA.z)) 
# print "pointA: x=0, y=5, z=10" 

pointB = Point() 
print("pointB: x={}, y={}, z={}".format(pointB.x, pointB.y, pointB.z)) 
# print "pointB: x=0, y=0, z=0" 
관련 문제