이 변수가 모든 정적 클래스에서 사용하는 것보다 Outer (변수) 인스턴스를 만들어 변수를 한 번 지정하려면 어떻게해야합니까? 정적 메서드가 아닌 다른 내부 솔루션에 Outer를 사용하는 것보다 다른 솔루션이 있습니까?Python : 내부 정적 클래스에서 외부 클래스 변수를 가져 오는 방법은 무엇입니까?
class Outer():
def __init__(self, variable):
self.variable= variable
class Inner1():
@staticmethod
def work1():
**print Outer.variable**
class Inner2():
@staticmethod
def work2():
**print Outer.variable**
? 장점이 없습니다. 파이썬은 자바가 아니며 C#도 아니다. 또한 인스턴스 변수 ('some_obj.attr')와 클래스 ("static") 변수 ('SomeClass.attr')를 결합하는 것처럼 보입니다. – delnan
[정적 메소드의 Guido van Rossum :] (http://groups.google.com/group/python-ideas/browse_thread/thread/6d82fd23609eff9c/eabf958d7d5f8382?lnk=gst&q=staticmethod+Guido+van+Rossum#eabf958d7d5f8382) " 그것들은 기본적으로 새로운 스타일의 클래스와 서술자를 발명했을 때의 Python 2.2 일 동안의 이라는 사고에서 비롯된 것입니다. 클래스 메서드를 구현하려고했으나 처음에는 을 이해하지 못하고 실수로 정적 메서드를 먼저 구현했습니다. 그런 다음 클래스 메소드를 제거하기에는 너무 늦었습니다. " –
매우 비슷한 질문 [여기]에 대한 답변이 있습니다 (http://stackoverflow.com/questions/6665196/how-can-i-acess-a-metod-from-an-object-inside-a-class- in-python-2-6/6665452 # 6665452) 예를 들어 pyqt의 – brandizzi