- 首先定义一个Person类,并定义一个Person类的私有属性年龄(age)默认值为0,再定义两个实例属性,其中一个属性姓名(name)为公有成员,另一个属性性别(sex)为私有成员,性别默认值为“man”,再定义两个Person类的成员方法,一个是设置年龄的setAge函数,一个是输出姓名、性别和年龄的show函数;然后以Person类为基类派生Teacher类,构造函数的形参中多增加一个参数部门(department)默认值为“Math”,通过调用基类的构造函数,为Teacher类的实例对象的属性赋值,再定义三个Teacher类的成员方法,一个是设置部门的setDepartment函数,一个是设置年龄的setAge函数,该函数可以通过特殊方式访问基类的私有成员age来实现,一个是输出姓名、性别、年龄和部门的show函数;最后分别创建指定姓名和性别的Person类和Teacher类的对象,并对Person类对象设置年龄28,对Teacher类对象设置年龄35和部门“Chinese”,最后分别调用这两个新建的实例对象的show函数,输出结果如下所示。
Name: Wang Hong
Sex: woman
Age: 28
Name: Han Mei
Sex: woman
Age: 35
Department: Chinese
python有关类的问题,需要init吗,具体怎么操作
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- CSDN专家-Time 2022-01-01 11:09关注
其他的属性照着写就可以
# 1. 定义一个Person类,类中要有初始化方法,方法中要有人的姓名和年龄属性 # # 2. 将类中的姓名是公有属性,年龄是私有属性. # # 3. 提供获取私有属性的公有方法 get_age方法. # # 4. 提供可以设置私有属性的方法 set_age方法,要求如果输入的年龄在 0 -- 100 之间,设置年龄,否则,提示输入不正确,. # # 5. 重写 __str__ 要求打印对象时,把 姓名和年龄都打印出来。 class Person(object): def __init__(self, name, age): self.name = name self.__age = age def get_age(self): return self.__age def set_age(self): age_num = int(input("请输入的年龄在 0 -- 100 之间:")) if 0 < age_num < 100: self.__age = age_num print("{}年龄设置成功:{}".format(self.name, self.__age)) else: print("提示输入不正确") def __str__(self): return "姓名:{}, 年龄:{}".format(self.name, self.__age) if __name__ == '__main__': p1 = Person("小米", 30) p1.set_age() print(p1)
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥100 set_link_state
- ¥15 虚幻5 UE美术毛发渲染
- ¥15 CVRP 图论 物流运输优化
- ¥15 Tableau online 嵌入ppt失败
- ¥100 支付宝网页转账系统不识别账号
- ¥15 基于单片机的靶位控制系统
- ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
- ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
- ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
- ¥15 手机接入宽带网线,如何释放宽带全部速度