这是一个基本问题。我正在尝试以下代码:
class SMS_store:
def __init__(self):
self=[] #probably something is wrong here
def add_new_arrival(self,from_number,time_arrived,text_of_SMS):
self.append([False,from_number,time_arrived,text_of_SMS]) #append list to self list
self[len(self)-1]=tuple(self[len(self)-1])
def message_count(self):
return len(self)
my_inbox=SMS_store()
my_inbox.add_new_arrival('01234','9:37 AM','How are you?')
但我得到了以下错误:
>>>
Traceback (most recent call last):
File "C:\Users\Arnob\Desktop\New Text Document.py", line 15, in <module>
my_inbox.add_new_arrival('01234','9:37 AM','How are you?')
File "C:\Users\Arnob\Desktop\New Text Document.py", line 8, in add_new_arrival
self.append([False,from_number,time_arrived,text_of_SMS]) #append list to self list
AttributeError: 'SMS_store' object has no attribute 'append'
>>>
我的密码怎么了?
您仍然需要创建一个普通的变量名,只需将
self.
作为前缀:要访问它,您可以执行以下操作:
或:
实际上您正在重写
self
。你不想那样做。如果要从
list
继承,请使用以下命令:并从
__init__
方法中删除对self
的赋值。也就是说,您可能只需要一个包含列表的命名属性:
就表示实际消息而言,这听起来是^{} 的一个很好的用例。它就像元组,但允许按名称访问字段。下面是一个简单的例子:
你可以像这样子类化
list
注意,不需要
__init__
,除非您希望在那里做一些额外的事情。您不需要附加一个列表,然后将其转换为元组,您可以直接使用
()
而不是[]
创建元组相关问题 更多 >
编程相关推荐