class CounterManager:
insCount = 0;
def __init__(self):
CounterManager.insCount += 1;
def printInstaceCount():
print("Instance Count" , CounterManager.insCount);
a,b,c = CounterManager(),CounterManager(),CounterManager();
CounterManager.printInstaceCount();
출력문:
I
nstance Count 3
위의 소스를 보면 클래스가 자기 자신의 변수에 같을 증가 하는것을 볼수 있다.
자 그럼 다음 소스와 차이점을 느껴보자
class CounterManager:
insCount = 0;
def __init__(self):
self.insCount += 1;
def printInstaceCount(self):
print("Instance Count" , self.insCount);
a,b,c = CounterManager(),CounterManager(),CounterManager();
a.printInstaceCount();
a.__class__.insCount = 2;
a.printInstaceCount();
b.printInstaceCount();
d = CounterManager();
d.printInstaceCount();
출력문 :
Instance Count 1
Instance Count 1
Instance Count 1
Instance Count 3
2번째는 인스턴스 안의 insCount 를 증가 시킨것입니다 ^^
'Soft Ware > python' 카테고리의 다른 글
연산자 중복 ~~~ (0) | 2012.03.13 |
---|---|
class 중 정적메소드로 등록 및 클래스메소드로 등록 하는방법 (0) | 2012.03.12 |
파이썬 class 에서의 self 이놈에 대해 정의 (0) | 2012.03.12 |
enumerate 에 대해서 ~~~ (0) | 2012.03.10 |
제너레이터 에 대해서 !! ! (0) | 2012.03.10 |