• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

s1, s2 점수 확인

22.09.22 22:53 작성 조회수 211

0

화면 캡처 2022-09-22 225128.pngs1.score += 20을 더해서 70이 출력되고

s2.score += 30을 더해서 80이 출력되야되는거 아닌가요?

다른분이 비슷한 질문을 올렸데 답변이 안달려서 다시 질문드립니다.

스크린샷은 강의 영상 26분:22초부분을 캡쳐했습니다.

 

답변 2

·

답변을 작성해보세요.

0

Dong Kim님의 프로필

Dong Kim

2023.03.02

저도 궁금합니다.

s1에서 더해준 결과 값이 s2에 누적되네요

서로 의존 되지 않아야 되는거 같은데....

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)
정찬희님의 프로필

정찬희

질문자

2022.09.25

올렸습니다.

정찬희님의 프로필

정찬희

질문자

2022.09.25

화면 캡처 2022-09-25 023456.png