要编写一个通讯录程序,我们需要定义其基本功能,包括添加联系人、查询联系人和删除联系人。在查询和删除操作中,我们将使用正则表达式来匹配联系人的姓名。以下是一个简单的实现:
import re
class Contact:
def __init__(self, name, phone):
self.name = name
self.phone = phone
class AddressBook:
def __init__(self):
self.contacts = []
def add_contact(self, contact):
self.contacts.append(contact)
def find_contact(self, pattern):
regex = re.compile(pattern)
matched_contacts = []
for contact in self.contacts:
if regex.match(contact.name):
matched_contacts.append(contact)
return matched_contacts
def remove_contact(self, pattern):
regex = re.compile(pattern)
self.contacts = [contact for contact in self.contacts if not regex.match(contact.name)]
在这个实现中,我们定义了两个类:`Contact` 和 `AddressBook`。`Contact` 类用于创建联系人对象,包含姓名和电话号码。`AddressBook` 类用于管理通讯录,包含添加、查询和删除联系人的方法。在查询和删除操作中,我们使用正则表达式来匹配联系人的姓名。
要使用这个通讯录程序,我们可以创建一个 `AddressBook` 对象,并添加一些联系人:
address_book = AddressBook()
address_book.add_contact(Contact('Alice', '123-456-7890'))
address_book.add_contact(Contact('Bob', '234-567-8901'))
address_book.add_contact(Contact('Charlie', '345-678-9012'))
然后,我们可以使用正则表达式来查询或删除联系人:
found_contacts = address_book.find_contact(r'A.*')
for contact in found_contacts:
print(contact.name, contact.phone)
address_book.remove_contact(r'B.*')
这个简单的通讯录程序展示了如何使用Python和正则表达式来管理联系人信息。当然,这只是一个基础的实现,实际应用中可能需要更多的功能和错误处理。