用Python创建一个学生类Student,其中包含构造方法__init_,构造学生的学号、姓名、出生年、月、日等信息,创建一个对象,输入其对应信息,求该对象的年龄
时间: 2024-10-19 07:05:12 浏览: 23
创建学生类Student,继承自SchoolPerson类, 添加额外两个属性:班级class、学号sno。 添加方法:打印学生的所有信息print_info方法。
5星 · 资源好评率100%
在Python中,你可以创建一个名为`Student`的类来表示学生,包含一些基本属性如学号、姓名和出生日期。首先,我会展示如何定义这个类,并提供构造方法`__init__`来初始化这些属性。然后,我们将编写一个计算年龄的方法。
```python
class Student:
def __init__(self, id_num, name, birth_year, birth_month, birth_day):
self.id_num = id_num
self.name = name
self.birth_date = f"{birth_year}-{birth_month}-{birth_day}"
# 定义一个方法来计算年龄,假设当前日期已经设置好
def calculate_age(self, current_year=None, current_month=None, current_day=None):
if not current_year or not current_month or not current_day:
import datetime
current_time = datetime.datetime.now()
current_year, current_month, current_day = current_time.year, current_time.month, current_time.day
birth_date = datetime.date(int(self.birth_date.split('-')[0]), int(self.birth_date.split('-')[1]), int(self.birth_date.split('-')[2]))
age = current_year - birth_date.year
if current_month < birth_date.month or (current_month == birth_date.month and current_day < birth_date.day):
age -= 1
return age
# 创建一个实例并输入学生的详细信息
student = Student(1001, "张三", 2005, 6, 1)
age = student.calculate_age()
print(f"学生{student.name}的年龄是 {age}岁.")
阅读全文