파이썬에서 __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 |
댓글