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/

 

posted @ 2024-01-08 22:42  txwtech  阅读(14)  评论(0编辑  收藏  举报