初始化函数的意思是,当你创建一个实例的时候,这个函数就会被调用。
初始化函数的写法是固定的格式:中间是“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()
Linux公社的RSS地址:https://www.linuxidc.com/rssFeed.aspx