扩展内置类的操作方法

如果需要要内置类里面添加方法,操作如下

class ContactList(list): # 在list里面添加search方法的代码示例
    def search(self, name):
        matching_contacts = []
        for contact in self:  # 模糊查询
            if name in contact.name:
                matching_contacts.append(contact)
        return matching_contacts

如果需要修改内置类的某个方法,操作如下

class EvenOnly(list):
    def append(self, integer):  # 修改list里面的append方法,代码示例
        if not isinstance(integer, int):
            raise TypeError("Only integers can be added")
        if integer % 2:
            raise ValueError("Only even numbers can be added")
        super().append(integer)

 

posted @ 2020-03-14 23:50  海澜时见鲸  阅读(181)  评论(0)    收藏  举报