您的位置:首页 > 其它

重载类的特殊方法

2016-06-18 22:02 141 查看
1.在Python中,类中有一些以两条下划线开始并且以两条下划线结束的方法,称之为为的专有方法,专有方法时针对类的特殊操作的一些方法,

代码示例如下:

class Book:

    def __init__(self,name="Python从入门到精通"):

        self.name=name

    def __add__(self, other):

        return self.name+" "+other.name

    def __len__(self):

        return len(self.name)

if __name__=="__main__":

    booka=Book()

    bookb=Book("Java从入门到精通")

    print("len(booka):",len(booka))

    print("len(bookb):",len(bookb))

    print(booka+bookb)

2.鸭子类型 与多态

class Duck:

    def __init__(self,name="duck"):

        self.name=name

    def quack(self):

        print("嘎嘎嘎")

class Cat:

    def __init__(self,name="cat"):

        self.name=name

    def quack(self):

        print("喵喵喵...")

class Tree:

    def __init__(self,name="tree"):

        self.name=name

def duck_demo(obj):

    obj.quack()

if __name__=="__main__":

    duck=Duck()

    cat=Cat()

    tree=Tree()

    duck_demo(duck)

    duck_demo(cat)

    duck_demo(tree)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: