用python写面向对象的方法设计学生类Student,包含一个学生姓名(Name)性别(Sex)、年龄(Age),然后设计学生记录管理类StudentList来管理一组学生记录。
时间: 2024-02-15 10:03:21 浏览: 82
好的,下面是一个用Python实现的面向对象的学生类和学生记录管理类的示例代码:
```python
class Student:
def __init__(self, name, sex, age):
self.name = name
self.sex = sex
self.age = age
class StudentList:
def __init__(self):
self.students = []
def add_student(self, student):
self.students.append(student)
def remove_student(self, student):
self.students.remove(student)
def get_student_by_name(self, name):
for student in self.students:
if student.name == name:
return student
return None
def get_student_by_sex(self, sex):
result = []
for student in self.students:
if student.sex == sex:
result.append(student)
return result
def get_student_by_age(self, age):
result = []
for student in self.students:
if student.age == age:
result.append(student)
return result
```
在这个示例中,我们定义了一个`Student`类,它包含了一个学生的姓名、性别和年龄。然后我们定义了一个`StudentList`类,它用来管理一组学生记录。`StudentList`类包含了一些方法,例如添加学生、删除学生、按姓名查找学生、按性别查找学生和按年龄查找学生。
下面是一些示例代码,演示如何使用这个学生记录管理系统:
```python
# 创建一个学生记录管理系统
students = StudentList()
# 添加一些学生记录
students.add_student(Student('Tom', 'Male', 20))
students.add_student(Student('Jerry', 'Male', 21))
students.add_student(Student('Alice', 'Female', 19))
students.add_student(Student('Bob', 'Male', 20))
# 查找学生记录
student = students.get_student_by_name('Tom')
if student:
print(f"找到了名为{student.name}的学生,他的性别是{student.sex},年龄是{student.age}岁。")
# 按性别查找学生记录
male_students = students.get_student_by_sex('Male')
print("以下是所有男生的信息:")
for student in male_students:
print(f"姓名:{student.name},性别:{student.sex},年龄:{student.age}岁。")
# 按年龄查找学生记录
twenty_years_old_students = students.get_student_by_age(20)
print("以下是所有20岁的学生的信息:")
for student in twenty_years_old_students:
print(f"姓名:{student.name},性别:{student.sex},年龄:{student.age}岁。")
```
这个示例代码创建了一个学生记录管理系统,然后添加了一些学生记录。接着,它演示了如何按姓名、性别和年龄查找学生记录,并打印出了查找结果。
阅读全文