zoukankan      html  css  js  c++  java
  • 鸭子类型

    Python崇尚鸭子类型,即‘如果看起来像、叫声像而且走起路来像鸭子,那么它就是鸭子’

    python程序员通常根据这种行为来编写程序。例如,如果想编写现有对象的自定义版本,可以继承该对象

    也可以创建一个外观和行为像,但与它无任何关系的全新对象,后者通常用于保存程序组件的松耦合度。

    例1:利用标准库中定义的各种‘与文件类似’的对象,尽管这些对象的工作方式像文件,但他们没有继承内置文件对象的方法

    class File:
    pass

    class Disk:
    def read(self):
    print('disk read')

    def write(self):
    print('disk write')


    class Text:
    def read(self):
    print('text read')

    def write(self):
    print('text write')


    disk=Disk()
    text=Text()

    disk.read()
    disk.write()

    text.read()
    text.write()

    例2:序列类型有多种形态:字符串,列表,元组,但他们直接没有直接的继承关系

    #str,list,tuple都是序列类型
    s=str('hello')
    l=list([1,2,3])
    t=tuple((4,5,6))
    
    #我们可以在不考虑三者类型的前提下使用s,l,t
    s.__len__()
    l.__len__()
    t.__len__()
    
    len(s)
    len(l)
    len(t)
  • 相关阅读:
    站立会议05
    站立会议04
    站立会议03
    站立会议02
    站立会议01
    团队报告
    冲刺第九天
    站立会议第八天
    站立会议第七天
    站立会议第六天
  • 原文地址:https://www.cnblogs.com/sunny666/p/9647435.html
Copyright © 2011-2022 走看看