我正在学习和试验Python。如何在我的第二个函数print_contacts
中传递contact_list
,以便它可以打印contact_list
中的名称?我肯定我做错了什么,有人能解释一下为什么吗?在
class Contact(object):
contact_list = []
def __init__(self, name, email):
self.name = name
self.email = email
return Contact.contact_list.append(self)
# How to pass contact_list to below function?
def print_contacts(contact_list):
for contact in contact_list:
print(contact.name)
对我来说,拥有一个
Contact
对象也拥有一个contact_list
属性没有任何意义,如果它是类范围的而不是实例化的,则更没有意义。我会这样做:或者,对一个知道如何创建
^{pr2}$Contact
对象并显示它们的AddressBook
建模。在将打印
^{pr2}$要回答您的代码当前为什么不工作的问题:首先,您的init方法不需要返回调用,init在创建对象时被调用以建立对象变量,并且通常不需要返回任何内容(特别是在这种情况下,因为.append()不提供任何要返回的内容)。第二,类方法似乎更适合您尝试用第二种方法做什么,您可以在这里阅读更多关于它的内容:What are Class methods in Python for?
相关问题 更多 >
编程相关推荐