파이썬 API 둘러보기

클래스, 인스턴스

super(), getattr(), setattr(), hasattr(), delattr(), isinstance(), issubclass(), property()

super()

생략

 

getattr(), setattr(), hasattr(), delattr()

help()에서 발췌:

getattr(): getattr(x, 'y') is equivalent to x.y

setattr(): setattr(x, 'y', v) is equivalent to ``x.y = v''

hasattr(): This is done by calling getattr(obj, name) and catching AttributeError.

delattr(): delattr(x, 'y') is equivalent to ``del x.y''

응용하면 global(), local() 등의 네임스페이스에도 접근할 수 있다.

 

isinstance()

>>> isinstance([1,2,3], list)
True

>>> isinstance([1,2,3], (list, tuple, str))
True

튜플은 or로 적용됨.

 

issubclass()

상속관계

>>> class myList(list): pass

>>> issubclass(myList, list)
True

>>> issubclass(myList, (list, tuple, str))
True

 

property()

getter와 setter를 설정한다. C# property 개념과 같다.

자세한 설명

help()에서 발췌:

 |  class C(object):
 |      def getx(self): return self._x
 |      def setx(self, value): self._x = value
 |      def delx(self): del self._x
 |      x = property(getx, setx, delx, "I'm the 'x' property.")
 

 

데코레이터로 같은 일을 할 수 있다. @property 가 getter를 뜻함

 |  class C(object):
 |      @property
 |      def x(self):
 |          "I am the 'x' property."
 |          return self._x
 |      @x.setter
 |      def x(self, value):
 |          self._x = value
 |      @x.deleter
 |      def x(self):
 |          del self._x

 

댓글

댓글 본문
작성자
비밀번호
버전 관리
장과장02
현재 버전
선택 버전
graphittie 자세히 보기