设计一个学生类,包含3成员属性,姓名(字符串),年龄(整数),年级(整数)。 3个构造方法,分别是1个无參的构造方法,1个带有1个参数的构造方法,1个带走3个参数的构造方法。 无參的构造方法输出大家好 1个参数的构造方法能为姓名设置值,并输出 3个参数的构造方法能将3个属性赋值,并输出。 实例化3个学生对象,分别调用3个构造方法。
时间: 2023-06-03 12:06:05 浏览: 170
好的,我明白了。首先回答你的第一个问题:设计一个学生类,包含3个成员属性,姓名(字符串),年龄(整数),年级(整数)。实现3个构造方法,分别是1个无参的构造方法,1个带有1个参数的构造方法,1个带有3个参数的构造方法,具体实现如下:
```python
class Student:
def __init__(self, name='', age=0, grade=0):
self.name = name
self.age = age
self.grade = grade
def introduce(self):
print(f'我叫{self.name},今年{self.age}岁,读{self.grade}年级。')
```
其中,`__init__`方法中,`self`代表类的实例化对象,`name=''`表示姓名属性的默认值为空字符串,`age=0`表示年龄属性的默认值为0,`grade=0`表示年级属性的默认值为0。如果对象被调用时不传入相应属性值,则默认使用这些默认值。
`introduce`方法用于打印学生的基本信息:姓名、年龄、年级。
接下来,按照要求实例化3个学生对象,分别调用3个构造方法:
```python
# 实例化学生对象,使用三种不同的构造方法
student1 = Student()
student1.introduce()
student2 = Student('小明')
student2.introduce()
student3 = Student('小红', 10, 4)
student3.introduce()
```
输出结果为:
```
我叫,今年0岁,读0年级。
我叫小明,今年0岁,读0年级。
我叫小红,今年10岁,读4年级。
```
其中,实例化第一个学生对象时,使用了无参的构造方法,直接输出了默认信息;实例化第二个学生对象时,使用了带一个参数的构造方法,只为姓名属性设置了值,年龄和年级属性使用了默认值;实例化第三个学生对象时,使用了带三个参数的构造方法,为所有属性都设置了具体值。
阅读全文