-
카테고리
-
세부 분야
프로그래밍 언어
-
해결 여부
미해결
s1, s2 점수 확인
22.09.22 22:53 작성 조회수 211
0
s1.score += 20을 더해서 70이 출력되고
s2.score += 30을 더해서 80이 출력되야되는거 아닌가요?
다른분이 비슷한 질문을 올렸데 답변이 안달려서 다시 질문드립니다.
스크린샷은 강의 영상 26분:22초부분을 캡쳐했습니다.
답변을 작성해보세요.
0
0
정찬희
질문자2022.09.25
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)
답변 2