파이썬에서 __dict__ 속성을 이용하면 클래스의 인스턴스 변수와 값에 쉽게 접근할 수 있다.
class publicCircle: def __init__(self, name, radius): self.name = name self.radius = radius c1 = publicCircle('private', 1) print("c1의 속성들: " , c1.__dict__) # __dict__[key] 형식으로 value값만 따로 얻을 수도 있다. print(c1.__dict__['name']) print(c1.__dict__['radius'])
위 코드의 결과는 아래와 같다.
c1의 속성들: {'name': 'private', 'radius': 1} private 1
또한 __dict__속성을 사용하면 _(언더스코어)로 시작하는 이름을 가진 인스턴스 변수에도 쉽게 접근할 수 있는데, private 한 클래스 인스턴스에도 접근을 할 수 있게 된다.
class privateCircle: def __init__(self, name, radius): self.__name = name self.__radius = radius c2 = privateCircle('private', 2) print("c2의 속성들: ", c2.__dict__) # private한 인스턴스값의 value값만 따로 얻고 싶을 경우 아래와 같은 형식으로 얻어 올 수 있다. print(c2.__dict__['_privateCircle__name']) print(c2.__dict__['_privateCircle__radius'])
위 코드의 결과는 아래와 같다.
c2의 속성들: {'_privateCircle__name': 'private', '_privateCircle__radius': 2} private 2
'ETC' 카테고리의 다른 글
이진트리 탐색 운행법 (0) | 2022.06.21 |
---|---|
[DB] 트랜잭션(transaction)이란? (0) | 2022.06.17 |
[OS] (동기/비동기) 와 (블럭/논블록의) 차이 (0) | 2022.04.11 |
[python] Broadcasting(브로드캐스팅) (0) | 2021.12.14 |
[python] 클래스의 특별한 메서드 (0) | 2021.12.12 |
[python] List보다 Numpy 가 빠른 이유 (0) | 2021.11.21 |
댓글