python初始化函数继承_Python语法基础之初始化函数和类的继承

初始化函数的意思是,当你创建一个实例的时候,这个函数就会被调用。

初始化函数的写法是固定的格式:中间是“init”,这个单词的中文意思是“初始化”,然后前后都要有【两个下划线】,然后__init__()的括号中,第一个参数一定要写上self,不然会报错。

类的继承格式为:class 新类(旧类),新类就可以继承旧类的所有类方法,并可以定制新的方法甚至覆盖旧类的方法。

Python中初始化init 参数第一个必须要加 self

class Survey():

# 收集调查问卷的答案

def __init__(self, question):

self.question = question

self.response = []

# 显示调查问卷的题目

def show_question(self):

print(self.question)

# 存储问卷搜集的答案

def store_response(self, new_response):

self.response.append(new_response)

# 请定义实名调查问卷的新类 RealNameSurvey,继承自 Survey 类

class RealNameSurvey(Survey):

def __init__(self, question):

Survey.__init__(self, question)

self.response = {} # 由于籍贯地和名字挂钩,所以用构成为“键值对”的字典来存放。

# 存储问卷搜集的答案(覆盖父类的类方法)

def store_response(self, name, new_response): # 除了 self,还需要两个参数。

self.response[name] = new_response # 键值对的新增

survey = RealNameSurvey('你的籍贯地是哪?')

survey.show_question()

while True:

response = input('请回答问卷问题,按 q 键退出:')

if response == 'q':

break

name = input('请输入回答者姓名:')

survey.store_response(name, response) # 调用类方法,将两次通过 input 的字符串存入字典。

# 输出测试

for name, value in survey.response.items():

print(name + ':' + value)

class Person:

def __init__(self, name):

self.name = name

print('大家注意了!')

def show(self):

print('一个叫“%s”的网站来了。' % self.name)

class Man(Person):

def __init__(self):

Person.__init__(self, name='www.linuxidc.com')

def show(self):

print('一个叫“%s”的网站来了。' % self.name)

def leave(self): # 子类定制新方法

print('那个叫“%s”的网站欢迎你的到来。' % self.name)

author1 = Person('Linux公社')

author1.show()

author2 = Man()

author2.show()

author3 = Man()

author3.leave()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值