foo.py
클래스가 들어있는 파일이 있다고 가정 해보십시오 Foo
.
class Foo(object):
def __init__(self, data):
...
이제 Foo
원시 소스 데이터에서 특정 방식으로 객체 를 생성하는 함수를 추가하고 싶습니다 . Foo의 정적 메소드 또는 다른 별도의 함수로 사용해야합니까?
class Foo(object):
def __init__(self, data):
...
# option 1:
@staticmethod
def fromSourceData(sourceData):
return Foo(processData(sourceData))
# option 2:
def makeFoo(sourceData):
return Foo(processData(sourceData))
사용자에게 편리한 것이 더 중요한지 모르겠습니다.
foo1 = foo.makeFoo(sourceData)
또는 메소드와 클래스 사이의 명확한 연결을 유지하는 것이 더 중요한지 여부 :
foo1 = foo.Foo.fromSourceData(sourceData)
@classmethod
참조하십시오 .