모듈의 객체를 모듈 코드로 초기화하는 것은 나쁜 습관입니까? Module.py
에서파이썬 모듈 초기화
: 사용자 코드에서보다
class _Foo(object):
def __init__(self):
self.x = 'Foo'
Foo = _Foo()
, 그럴 수 : 사용자 코드에서 푸 클래스를 초기화하지 않고
>>> from Module import Foo
>>> print Foo.x
'Foo'
>>>
.... 물론 개체를 초기화하는 데 인수가 필요하지 않은 경우에만 유용합니다.
이렇게하지 않는 이유가 있습니까?
하나의 인스턴스 만 필요하면'@ staticmethod'와 클래스 변수를 사용할 수 있습니다. – JBernardo
@JBernardo'staticmethod'와 클래스 변수를 사용할 수 없으므로'classmethod'와 클래스 변수를 사용할 수 있습니다. 그것은 싱글 톤을 만드는 가난한 방법입니다. – agf
@agf 나는 자바의 (나쁜) 삶의 방식처럼 보인다. 그러나 그렇게 나쁘지 않다. – JBernardo