我开始使用类来创建一个简单的联系人输出,然后是一个像这样的更新版本:
My Contacts
-----------
??? Murphy 555-555-8980
George Smith 555-555-2323
Mike Johnson 555-555-4780
-----------
My Contacts
-----------
Cade Murphy 555-555-8980
President George Smith 555-555-2323
Professor Mike Johnson 555-555-4780
----------
我已经正确设置了函数,但我不知道要将什么放入 class Contact 以便它打印我想要的内容。
class Contact:
# I don't know what to put here
def print_directory(contacts):
print("My Contacts")
print("-----------")
for person in contacts:
print(person)
print("-----------\n")
def main():
champ = Contact("???", "Murphy", "555-555-8980")
president = Contact("George", "Smith", "555-555-2323")
professor = Contact("Mike", "Johnson", "555-555-4780")
contacts = [champ, president, professor]
print_directory(contacts)
champ.set_first_name("Cade")
president.set_title("President")
professor.set_title("Professor")
print_directory(contacts)
main()
我尝试查看有关类(class)的教程和文档,但我一无所获。任何帮助将不胜感激,谢谢。
请您参考如下方法:
首先,它需要初始化,所以放一个 __init__ 函数。
class Contact:
def __init__(self, first_name, last_name, phone_number): # Arguments. self is always needed.
self.first_name = first_name
self.last_name = last_name
self.phone_number = phone_number
那么这个类就有了三个变量。 其次,它需要变成一个字符串。
class Contact:
def __init__(self, first_name, last_name, phone_number): # Arguments. self is always needed.
self.first_name = first_name
self.last_name = last_name
self.phone_number = phone_number
def __str__(self):
return "%s %s \t %s" % (self.first_name, self.last_name, self.phone_number)
你的代码中有一个set_first_name函数,所以做一个
class Contact:
def __init__(self, first_name, last_name, phone_number): # Arguments. self is always needed.
self.first_name = first_name
self.last_name = last_name
self.phone_number = phone_number
def __str__(self):
return "%s %s \t %s" % (self.first_name, self.last_name, self.phone_number)
def set_first_name(self, first_name):
self.first_name = first_name
最后,您的代码中有一个 set_title 函数
class Contact:
def __init__(self, first_name, last_name, phone_number): # Arguments. self is always needed.
self.first_name = first_name
self.last_name = last_name
self.phone_number = phone_number
self.title = None
def __str__(self):
if self.title is None:
return "%s %s \t %s" % (self.first_name, self.last_name, self.phone_number)
else:
return "%s %s %s \t %s" % (self.title, self.first_name, self.last_name, self.phone_number)
def set_first_name(self, first_name):
self.first_name = first_name
def set_title(self, title):
self.title = title
