python面向对象编写实现增删改查联系人信息以及查看所有联系人的信息功能的通讯录程序
时间: 2024-11-15 10:20:15 浏览: 19
在Python中,我们可以使用面向对象编程(Object-Oriented Programming, OOP)来构建一个简单的通讯录应用,以下是基本的步骤:
1. **创建类**:
- `Contact` 类可以表示一个联系人,包含属性如姓名、电话号码、电子邮件等。
```python
class Contact:
def __init__(self, name, phone, email):
self.name = name
self.phone = phone
self.email = email
# 提供方法用于显示联系人信息
def display_info(self):
print(f"Name: {self.name}, Phone: {self.phone}, Email: {self.email}")
```
2. **添加功能**:
- 使用 `add_contact()` 方法添加新的联系人。
```python
def add_contact(contacts, new_contact):
contacts.append(new_contact)
```
3. **删除功能**:
- 定义 `remove_contact()` 方法,通过名字查找并移除特定联系人。
```python
def remove_contact(contacts, name):
for contact in contacts:
if contact.name == name:
contacts.remove(contact)
break
```
4. **修改功能**:
- `update_contact()` 方法允许更新已存在的联系人信息。
```python
def update_contact(contacts, old_name, new_phone=None, new_email=None):
for contact in contacts:
if contact.name == old_name:
if new_phone is not None:
contact.phone = new_phone
if new_email is not None:
contact.email = new_email
return
print("Contact not found.")
```
5. **查询功能**:
- `search_contacts()` 查找并打印指定条件的联系人信息。
```python
def search_contacts(contacts, query=None):
matching_contacts = [contact for contact in contacts if query in contact.name or query in contact.phone]
if matching_contacts:
for contact in matching_contacts:
contact.display_info()
else:
print("No contacts found with the given query.")
```
6. **查看所有联系人**:
- `view_all_contacts()` 显示通讯录中所有的联系人信息。
```python
def view_all_contacts(contacts):
for contact in contacts:
contact.display_info()
```
现在你可以组合这些函数来实现完整的通讯录操作。
阅读全文