인프런 커뮤니티 질문&답변

정찬희님의 프로필 이미지
정찬희

작성한 질문수

모두를 위한 파이썬 : 필수 문법 배우기 Feat. 오픈소스 패키지 배포 (Inflearn Original)

Descriptor(2)

s1, s2 점수 확인

작성

·

341

0

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

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

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

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

 

답변 2

0

저도 궁금합니다.

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

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

0

좋은사람님의 프로필 이미지
좋은사람
지식공유자

안녕하세요.

전체 소스코드를 올려주시겠어요?

정찬희님의 프로필 이미지
정찬희
질문자

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 023456.png

정찬희님의 프로필 이미지
정찬희

작성한 질문수

질문하기