• 多态


    函数中继承类

    返回父类的父类函数(),使用super(子类,self).父类的函数()

    # coding:utf-8
    
    class Animal:
        def say(self):
            print("animal")
    
    class Dog(Animal):
        def say(self):
            # 这个super()括号中可写可不写了,都是继承一个父类,指定的类也是改自身
            return super(Dog,self).say()
    class Dog1(Animal):
        def say(self):
            print("Dog")
    class Cat(Animal):
        def say(self):
            print("Cat")
            
    
    # 函数中的参数还可以使用分号
    def animal_say(a: Animal): #这里把类的参数当作实例传进去了,并没有所谓的继承到函数中
        # 参数值使用冒号是函数注释,指的是输入的类型,还有个箭头指的是输出的类型,是从python3.5开始有的
        a.say()
    dog = Dog1() 
    cat = Cat() 
    animal_say(dog)   # Dog
    animal_say(cat)  # Cat
    a = Dog()
    # 这里难道是return返回的这个None
    # 返回父类的say()函数,使用super(子类,self).父类的函数()
    print(a.say()) # animal None
    # 继承的父类中使用参数,不可以,缘由是父类中也没有构造方法
    b = Dog()
    print(b.say()) #  # animal None
    

    函数的参数有冒号

    __annotations__函数的注解

    def fun(a:int): # 这个有点指定类型的意思
        print(fun.__annotations__) # __annotations__函数的注解
        print(a)
    
    fun('a') # # {'a': <class 'int'>} a
    fun(1) # {'a': <class 'int'>} 1
    
    #!/usr/bin/python3
    # -*- coding:utf-8 -*-
     
    '''
    冒号是参数的类型建议符,
    告诉程序员希望传入的实参的类型。
    函数后面跟着的箭头是函数返回值的类型建议符,
    用来说明该函数返回的值是什么类型。
    '''
    def twoSum(num1: int, num2: int=100) -> int:
        sum = num1 + num2
        return sum
        
     # 类型建议符并非强制规定和检查,也就是说即使传入的实际参数与建议参数不符,也不会报错。
    if __name__ == "__main__":
        print(twoSum.__annotations__)  # {'num1': <class 'int'>, 'num2': <class 'int'>, 'return': <class 'int'>}
        print(twoSum(1,2)) # 3
        print(twoSum(1)) # 101
        print(twoSum('I love ','Arsenal')) # I love Arsenal
        #print(twoSum('Arsenal'))
    
    
  • 相关阅读:
    201771010135 杨蓉庆《面对对象程序设计(java)》第十五周学习总结
    201771010135 杨蓉庆/张燕/杨玲《面对对象程序设计(java)》第十四周学习总结
    201771010135 杨蓉庆/张燕《面对对象程序设计(java)》第十三周学习总结
    团队作业6—复审与事后分析
    团队作业6——Alpha阶段项目复审
    团队作业6——事后分析
    团队作业5——测试与发布(Alpha版本)
    团队作业4-项目汇总
    团队作业4-Day7
    团队作业4-Day6
  • 原文地址:https://www.cnblogs.com/wkhzwmr/p/15605117.html
Copyright © 2020-2023  润新知