작성한 질문수
모두를 위한 파이썬 : 필수 문법 배우기 Feat. 오픈소스 패키지 배포 (Inflearn Original)
Descriptor(2)
작성
·
341
0
s1.score += 20을 더해서 70이 출력되고
s2.score += 30을 더해서 80이 출력되야되는거 아닌가요?
다른분이 비슷한 질문을 올렸데 답변이 안달려서 다시 질문드립니다.
스크린샷은 강의 영상 26분:22초부분을 캡쳐했습니다.
답변 2
저도 궁금합니다.
s1에서 더해준 결과 값이 s2에 누적되네요
서로 의존 되지 않아야 되는거 같은데....
안녕하세요.
전체 소스코드를 올려주시겠어요?
import logging logging.basicConfig( format='%(asctime)s %(message)s', level=logging.INFO, datefmt='%Y-%m-%d %H:%M:%S' ) class LoggedScoreAccess: def __init__(self, value=50): self.value = value def __get__(self, obj, objtype=None ): logging.info('Aceesing %r giving %r','score',self.value) return self.value def __set__(self, obj, value): logging.info('Updating %r giving %r','score',self.value) self.value = value class student: # Descriptor instance score = LoggedScoreAccess() def __init__(self, name): # Regular instance attribute self.name = name s1 = student("Kim") s2 = student("Lee") # 점수 확인(s1) print('Ex2 > ', s1.score) s1.score += 20 print('Ex2 > ', s1.score) s1.score += 30 print('Ex2 > ', s2.score)
올렸습니다.