7
class Foo():
def __init__(self):
pass
def create_another(self):
return Foo()
# is not working as intended, because it will make y below becomes Foo
class Bar(Foo):
pass
x = Bar()
y = x.create_another()
y는 Foo bar가되어야합니다.자체 인스턴스의 파이썬 호출 생성자
다음과 같은 것들입니까? self.constructor()
대신 사용 하시겠습니까? 그 type()
가 사용하는 값이지만, API 방법을 사용하는 것은 항상 추천으로 또한 self.__class__
를 사용할 수
def create_another(self):
return type(self)()
:
새로운 스타일의 클래스
@Billiska : 당신이
이전 스타일 클래스 (안self.__class__
를 사용하도록 강요되도록object
에서 상속 파이썬 2)의 경우는
type()
, 그래서 도움이되지 않습니다 당신이 그렇게 할 이유가 없다면 새로운 스타일의 클래스를 사용하겠습니다. 'Foo'는'object'로부터 상속받습니다. –