소스코드
class TEST: v = None def __init__(self): #self.v = 1 pass #a 는 class TEST 이다 a = TEST #b 는 TEST class의 객체이다 b = TEST() #b는 a class의 객체임과 동시에 TEST class 이다. c = a() print "a1=", a.v print "b1=", b.v print "c1=", c.v #a.v = 10 때문에~ 앞으로 생성되는 모든 TEST class의 객체의 v값은 10이 되어버린다. a.v = 10 b.v = 20 c.v = 30 print "a2=", a.v print "b2=", b.v print "c2=", c.v #혹은 c= TEST() 여도 동일함. c = a() print "a3=", a.v print "b3=", b.v print "c3=", c.v
실행 결과
a1= None
b1= None
c1= None
a2= 10
b2= 20
c2= 30
a3= 10
b3= 20
c3= 10
b1= None
c1= None
a2= 10
b2= 20
c2= 30
a3= 10
b3= 20
c3= 10
"프로그래밍 / Python" 분류의 다른 글
[python] Python에서 MSSQL 사용하기 (0) | 2008/03/06 |
[python] mod_python 오류 (0) | 2008/02/25 |
[python] ClamAV Oversized.Zip FOUND 문제. (0) | 2008/01/22 |
[python] Python C Module 만들기 (0) | 2006/11/28 |
[python] eclipse에서 python 작업하기 (0) | 2006/08/16 |
[python] Python으로 작성된 Hellow, World! (0) | 2006/05/16 |