Inflearn Community Q&A
27분 45초 질문드립니다
Resolved
Written on
·
57
0

제가 코드 작성을 틀리지 않았다면 수업 내용 중 a.add('apple') 했을 때, 대문자로 들어가있지 않습니다.
맞게하려면 어떻게 해야할까요?
pythonjavac정보처리기사
Answer 1
0
weekendcode
Instructor
안녕하세요,
2가지 문제가 보입니다.
코드 상에 보시면 인스턴스 변수에 shared가 없습니다.
클래스 변수를 출력하고 싶으셨다면 a.personal이 아니라 Bag.shared를 출력하셔야 합니다.
어떤 것을 정확히 의도하신 지는 모르겠으나
인스턴스 변수에는 없는 것을 추가하고, 클래스 변수는 출력하지 않고 계십니다.
대문자만 추가된 클래스 변수를 의도하신 거라면, 아래 코드를 참고하세요.
class Bag:
shared = [] # class 변수
def __init__(self):
self.personal = []
def add(self, item):
Bag.shared.append(item.upper())
a = Bag()
b = Bag()
a.add('apple')
print(Bag.shared)
출력값:
['APPLE']
weekendcode
Instructor
인스턴스 변수인 리스트에 추가하고 싶으시다는 말씀이실까요?
그럼 self.personal에 추가하셔야 합니다. 지금 전혀 다른 곳에 추가하고 계십니다.





정확히는 a.personal[0]을 확인해보고 싶어서 코드 한 줄씩 출력하고 있었습니다. 인스턴스 변수 (a)에 'apple'을 추가한 후 바로 a를 확인하는 것은 안되는 것인가요?