zoukankan      html  css  js  c++  java
  • 多态

    函数中继承类

    返回父类的父类函数(),使用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'))
    
    
  • 相关阅读:
    Light OJ 1067 Combinations (乘法逆元)
    hdu1172猜数字(暴力枚举)
    hdu 2266 How Many Equations Can You Find(DFS)
    项目之问卷调查问题
    Django之Modelform组件
    GIT
    form组件的总结
    总结django知识点
    djang-分页
    Django-Ajax
  • 原文地址:https://www.cnblogs.com/wkhzwmr/p/15605117.html
Copyright © 2011-2022 走看看