Python模块 - collections|abc


# for 遍历对象时:
#     1、调用__iter__
#     2、__getitem__,会依次传入0->正无穷
# len 遍历对象时:
x = Company(['a', 'b', 'c'])
# for i in x[1:2]:
#     print(i)
from collections.abc import Sized
import abc

class Company:
    def __len__(self):
        return 4

com = Company()
print(hasattr(com, "__len__"))
# 1、希望判断某个对象的类型
print(isinstance(com, Sized))

# 2、强制子类实现某些方法
class ClassBase(metaclass=abc.ABCMeta):
    @abc.abstractmethod
    def get(self):
        pass

class Base(ClassBase):
    pass

x = Base()

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM