반응형
SMS_Inbox의 기본 기능을 제공하는 간단한 파이썬 프로그램을 만들고 있습니다. SMS_Inbox 메서드를 만들었습니다.
store = []
message_count = 0
class sms_store:
def add_new_arrival(self,number,time,text):
store.append(("From: "+number, "Recieved: "+time,"Msg: "+text))
**message_count += 1**
def delete(self,i):
if i > len(store-1):
print("Index does not exist")
else:
del store[i]
message_count -= 1
굵게 표시된 부분에서 오류가 발생합니다.
UnboundLocalError: local variable 'message_count' referenced before assignment.
빈 목록 인 전역 변수 저장소를 만들었으며 add_new_variable 개체를 사용할 때 작동합니다. 그러나 어떤 이유로 내 전역 message_count 변수에 값을 추가하지 않습니다.
도와주세요
해결 방법
그것은 수업이 작동하는 방식이 아닙니다. 데이터는 전역이 아닌 클래스 인스턴스 내에 저장되어야합니다.
class SMSStore(object):
def __init__(self):
self.store = []
self.message_count = 0
def add_new_arrival(self,number,time,text):
self.store.append(("From: "+number, "Recieved: "+time,"Msg: "+text))
self.message_count += 1
def delete(self, i):
if i >= len(store):
raise IndexError
else:
del self.store[i]
self.message_count -= 1
sms_store = SMSStore()
sms_store.add_new_arrival("1234", "now", "lorem ipsum")
try:
sms_store.delete(20)
except IndexError:
print("Index does not exist")
print sms_store.store
# multiple separate stores
sms_store2 = SMSStore()
sms_store2.add_new_arrival("4321", "then", "lorem ipsum")
print sms_store2.store
참조 페이지 https://stackoverflow.com/questions/16210314
반응형
'파이썬' 카테고리의 다른 글
파이썬 Map의 키 배열 가져 오기 (0) | 2021.01.19 |
---|---|
파이썬 파일 모드 "w +"와 혼동 (0) | 2021.01.19 |
파이썬 base64 문자열을 이미지로 변환하는 방법은 무엇입니까? (0) | 2021.01.19 |
파이썬 TypeError : <lambda> ()는 인수를받지 않습니다 (1 개 제공됨). (0) | 2021.01.19 |
파이썬 Python으로 월요일 날짜 찾기 (0) | 2021.01.19 |
댓글