zoukankan      html  css  js  c++  java
  • Python类总结-多态及鸭子类型

    Python天生支持多态.

    • 什么是多态: 一类事务的多种形态.
    • 多态的一个例子
    
    class Alipay():
        def pay(self,money):
            print('用支付宝支付了%s元' % money)
    
    class Applepay():
        def pay(self,money):
            print('用Applepay支付了%s元' % money)
    
    #由于python是弱类型的语言(可以传任何类型的参数),是动态强类型的语言
    def pay( pay_obj, money ): #统一支付入口,归一化设计
        pay_obj.pay(money)
    
    pay(Alipay(),100)
    pay(Applepay(),1000)
    
    >>>
    
    用支付宝支付了100元
    用Applepay支付了1000元
    
    • 举例二
    • list和tuple都有len方法
    class List:
        def __len__(self):pass
        
    class Tuple:
        def __len__(self):pass
    
    #tuple和list为鸭子类型
        
    def len(obj):
        return obj.__len__()#会去执行实例化对象中的__len__方法
    l = List()
    len(l)
    
    
  • 相关阅读:
    运算符
    格式化输出
    while循环
    if 判断语句
    Swift # 字典
    Swift # 数组
    Swift # 字符串
    [ Swift # 函数 ]
    [ Bubble Sort ]& block
    数据结构 # 二叉树/堆/栈
  • 原文地址:https://www.cnblogs.com/konglinqingfeng/p/9671279.html
Copyright © 2011-2022 走看看