파이썬 Class 공부중 1
Class 생성 후 Instance가 어떤 Class의 인스턴스인지 확인하고 싶은 때랑 print instance 하면 어떤 메시지나 특정 동작을 수행하고 싶을 때 하는 일
simpleClass.py
class simpleClass:
pass
class simpleClass2:
def __repr__(self):
return "%s" % self.__class__.__name__
def __str__(self):
return "%s, %s" % (self.__class__.__name__, "print")
일반적인 경우
>>> from simpleClass import *
>>> A = simpleClass
>>> A
<class simpleClass.simpleClass at 0x2b363fe524c8>
>>> print A
simpleClass.simpleClass
>>> A = simpleClass()
>>> A
<simpleClass.simpleClass instance at 0x2b363feb0998>
>>> print A
<simpleClass.simpleClass instance at 0x2b363feb0998>
__repr__과 __str__을 추가했을 경우
>>> from simpleClass import *
>>> B = simpleClass2
>>> B
<class simpleClass.simpleClass2 at 0x2b363fe52530>
>>> print B
simpleClass.simpleClass2
>>> B = simpleClass2()
>>> B
simpleClass2
>>> print B
simpleClass2, print
하다가 갑자기 생긴 궁금점 1. Instance를 생성할 때 Class 뒤에 () 추가하고 안하고의 차이가 뭐지?
'Python' 카테고리의 다른 글
Python Image Processing Library (0) | 2013.04.23 |
---|---|
python code를 바꾼 다음 인터프리터에 반영하기 (0) | 2012.07.13 |
built-in fucntion 1 - ord (0) | 2012.07.11 |
Python 관련 사이트 모음... (0) | 2012.02.16 |
Python에서의 File Read 함수 비교 (0) | 2012.02.07 |