Python学习之初始化函数和类的继承
初始化函数的意思是,当你创建⼀个实例的时候,这个函数就会被调⽤。
初始化函数的写法是固定的格式:中间是“init”,这个单词的中⽂意思是“初始化”,然后前后都要有【两个下划线】,然后__init__()的括号中,第⼀个参数⼀定要写上lf,不然会报错。
类的继承格式为:class 新类(旧类),新类就可以继承旧类的所有类⽅法,并可以定制新的⽅法甚⾄覆盖旧类的⽅法。
练习
# 显⽰调查问卷的题⽬
def show_question(lf):
print(lf.question)
# 存储问卷搜集的答案
def store_respon(lf, new_respon):
夏日南亭怀辛大# 请定义实名调查问卷的新类 RealNameSurvey,继承⾃ Survey 类
class RealNameSurvey(Survey):
def __init__(lf, question):
Survey.__init__(lf, question)
码的笔顺
# 存储问卷搜集的答案(覆盖⽗类的类⽅法)
def store_respon(lf, name, new_respon): # 除了 lf,还需要两个参数。
survey = RealNameSurvey('你的籍贯地是哪?')
survey.show_question()
while True:
respon = input('请回答问卷问题,按 q 键退出:')
if respon == 'q':
break
name = input('请输⼊回答者姓名:')
survey.store_respon(name, respon) # 调⽤类⽅法,将两次通过 input 的字符串存⼊字典。
# 输出测试
for name, value spon.items():
print(name + ':' + value)
# 显⽰调查问卷的题⽬
def show_question(lf):
print(lf.question)什么是冠状病毒
# 存储问卷搜集的答案
def store_respon(lf, new_respon):
# 请实例化 Survey() 类,并且显⽰出这次的调查问卷问题约 2 ⾏代码food_survey=Survey("你最喜欢的美⾷是什么")
欧阳修的故事food_survey.show_question()
# 存储问卷调查的答案
while True:
respon = input('请回答问卷问题,按 q 键退出:')
屋子简笔画if respon == 'q':
break
# 请将答案⽤问卷系统存储起来,约 1 ⾏代码,变量名见下⽅。
food_survey.store_respon(respon)
# 输出测试
浮夸歌词for food in spon:
print('美⾷:' + food)
ram是什么动物
class Person:
def __init__(lf, name):
lf.name = name
print('⼤家注意了!')
def show(lf):
神采奕奕的近义词print('⼀个叫“%s”的⼈来了。' % lf.name)
class Man(Person):
def __init__(lf):
Person.__init__(lf, name='范罗苏姆')
def show(lf):
print('⼀个叫“%s”的男⼈来了。' % lf.name)
def leave(lf): # ⼦类定制新⽅法
print('那个叫“%s”的男⼈留下了他的背影。' % lf.name)
author1 = Person('吉多')
author1.show()
author2 = Man()
author2.show()
author3 = Man()
author3.leave()