定义一个学生类,包括学号、姓名和出生日期三个属性(数据成员);包括一个用于给定数据成员初始值的构造函数;包含一个可计算学生年龄的方法。编写该类并对其进行测试。(50.0分)
时间: 2024-05-04 20:17:25 浏览: 155
好的,根据您的要求,我来为您编写一个学生类的代码,代码如下所示:
```python
import datetime
class Student:
def __init__(self, stu_no, name, birth_date):
self.stu_no = stu_no
self.name = name
self.birth_date = datetime.datetime.strptime(birth_date, '%Y-%m-%d').date()
def get_age(self):
today = datetime.date.today()
age = today.year - self.birth_date.year
if today < self.birth_date.replace(year=today.year):
age -= 1
return age
# 测试
stu = Student('20211001', '张三', '2000-01-01')
print(f'学号:{stu.stu_no},姓名:{stu.name},年龄:{stu.get_age()}岁')
```
在上面的代码中,我们定义了一个学生类`Student`,其包括三个属性:`stu_no`、`name`和`birth_date`,分别代表学号、姓名和出生日期。在构造函数`__init__`中,我们使用`strptime`方法将传入的出生日期字符串转换为日期类型,以便后续计算年龄。
最后,我们定义了一个`get_age`方法来计算学生的年龄,其中使用了`datetime`模块中的`date`类和`today`方法来获取当前日期,使用了`replace`方法将出生日期的年份替换成当前年份,以便比较是否已过生日。
最后,我们对该类进行了测试,创建了一个学生对象,并输出该学生的学号、姓名和年龄。
阅读全文
相关推荐


















