53.python类的继承与构造函数
53.python类的继承与构造函数
# This is a sample Python script. # Press Shift+F10 to execute it or replace it with your code. # Press Double Shift to search everywhere for classes, files, tool windows, actions, and settings. def print_hi(name): # Use a breakpoint in the code line below to debug your script. print(f'Hi, {name}') # Press Ctrl+F8 to toggle the breakpoint. class A: def hello(self): print('hello, this is A') def __init__(self): print('this is A构造函数') class B(A): def hello(self): print('hello,this is B') pass class Bird: def __init__(self): self.hungry = True def eat(self): if self.hungry: print('eat food') self.hungry = False else: print('No, thanks') class SongBird(Bird): def __init__(self): self.sound = 'wa haha' def sing(self): print(self.sound) # Press the green button in the gutter to run the script. if __name__ == '__main__': print_hi('nice day') fun2 = lambda x,y:x+y print('fun2(2,3)结果:',fun2(3,5)) class_a = A() print(class_a.hello()) print('--------------------') class_b = B() print('------------') print('b继承A调用:', class_b.hello()) bb = Bird() print(bb.eat()) print(bb.eat()) cc = SongBird() print(cc.sing()) print(cc.eat())#if self.hungry: #AttributeError: 'SongBird' object has no attribute 'hungry' # songbrid中,构造方法被重写,新的够着方法初始化没有hungry特性 # See PyCharm help at https://www.jetbrains.com/help/pycharm/
欢迎讨论,相互学习。
cdtxw@foxmail.com