-
카테고리
-
세부 분야
프로그래밍 언어
-
해결 여부
미해결
descriptor 마지막 예제 관련 질문있습니다.
22.03.03 19:49 작성 조회수 110
1
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!
- 먼저 유사한 질문이 있었는지 검색해보세요.
- 서로 예의를 지키며 존중하는 문화를 만들어가요.
- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
- 먼저 유사한 질문이 있었는지 검색해보세요.
- 서로 예의를 지키며 존중하는 문화를 만들어가요.
- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
마지막 예제에서 기본 점수였던 50이
s1은 20점을 올려 70이 출력되고
s2는 30점을 올리면 80이 출력이 되야하는데
s1의 setter가 끝난 value을 s2가 get 하는 것 같습니다.
이 오류는 어떻게 해결해야할지 궁금합니다.
답변을 작성해보세요.
0
박기자
2022.05.30
class LoggedScoreAccess:
def __init__(self):
self.value = None
def __get__(self, obj, objtype=None):
logging.info(f"Accessing {'score'} gibing {self.value}")
return self.value
def __set__(self, obj, value):
logging.info(f"Updating {'score'} gibing {value}")
self.value = value
class Student:
# Descriptor instance
score = LoggedScoreAccess()
def __init__(self, name, score):
self.score = score
# Regular instance attribute
self.name = name
s1 = Student("Kim", 50)
s2 = Student("Lee", 30)
# 점수 확인 (s1)
print(f"Ex2 s1 > {s1.score}")
s1.score += 20
print(f"Ex2 s1 > {s1.score}")
# 점수 확인 (s2)
print(f"Ex2 s2 > {s2.score}")
s2.score += 30
print(f"Ex2 s2 > {s2.score}")
0
좋은사람
지식공유자2022.03.04
안녕하세요.
같은 변수를 참조하고 있지 않은지 선언 스코프에 따라서
한 값을 참조 하고 있는 것 같습니다.
확인 해보세요!
전체 소스를 확인해보시고 안되면 소스를 붙여넣기 해주세여~
감사합니다.
답변 2