파이썬에서 객체에 대한 정보를 알아내기 위해서는 어떤 방법이 있을까영.


여러가지 방법이 있겠지만, __dict__를 사용해보는 것은 어떠신가요?


아래와 같이 말이죠.


  1 class ClassInfo:

  2 

  3   variable001 = "001"

  4   variable002 = "002"

  5   variable003 = "003"

  6   variable004 = "004"

  7   variable005 = "005"

  8   

  9   def main(self):

 10     print self.__class__.__dict__

 11     

 12   def addFunction(self):

 13     print "add..."

 14     

 15 if __name__ == "__main__":

 16   test = ClassInfo()

 17   test.main()




위 스크립트를 실행하면 아래와 같은 결과를 보실 수 있어요.



m@b:~/dev/test$ python classInfo.py 

{'__module__': '__main__', 'variable003': '003', 'variable002': '002', 'variable001': '001', 'variable005': '005', 'variable004': '004', '__doc__': None, 'main': <function main at 0x7fa6b120c5f0>, 'addFunction': <function addFunction at 0x7fa6b120c668>}

m@b:~/dev/test$ 


클래스의 정보가 상세하게 나온답니다. 


오픈API 사용하실 때 유용하게 사용할 수 있겠죠? 객체가 서버에서 넘어올 때 어떤 정보를 담고 있는지, 문서로 미리 파악하지 못한 경우에 말이죠.


아 물론 __dict__ 로 뽑아낸 것은 readonly 랍니다. 



+ Recent posts