美文网首页
python常用魔法方法

python常用魔法方法

作者: 上山走18398 | 来源:发表于2019-11-09 20:46 被阅读0次

    每个魔法方法都有特定的目的;当特定语法出现时,它作为执行的钩子函数(回调函数就是钩子函数的一种)

    __new__ : 创建类实例
    __init__:  初始化
    __del__:  被销毁时调用
    
    类型转换
    __str__  -> str()
    __unicode__
    __bytes__
    __bool__ ->bool()
    __int__
    __float__
    __complex__
    
    比较
    __eq__  -> ==
    __ne__
    __cmp__
    
    __future__
    __invert__
    
    __len__ -> len()
    __repr__ ->对象的repr方法用于确定该对象在python交互式终端中显示方式
    
    __hash__
    
    __format__ -> format()
    
    __instancecheck__
    __subclasscheck__
    
    集合
    __contains__ -> in
    __getitem__
    __setitem__
    __delitem__
    __doc__
    
    __getattr__ -> obj.attr_name / getattr(obj,'attr_name') #常规方式无法找到属性时才调用
    __setattr__ -> 复制给一个对象时调用
    
    __getattribute__ -> 无法找到属性时调用
    
    其他
    __iter__ -> iter()
    __next__ -> next()
    
    __slot__
    Python允许在定义class的时候,定义一个特殊变量__slots__来限制该class能添加的属性。
    
        __slots__只对类对象进行限制,不对类进行限制
        __slots__不仅限制类对象的属性,还限制类对象的方法
        __slots__仅对当前类起作用,对继承的子类不起作用
        在子类中定义__slots__,子类允许定义的属性就是自身的__slots__加上父类的__slots__
    
    
    
    __enter__
    __exit__
    

    相关文章

      网友评论

          本文标题:python常用魔法方法

          本文链接:https://www.haomeiwen.com/subject/ylwnbctx.html