zoukankan      html  css  js  c++  java
  • Python面向对象5:类的常用魔术方法

    魔术方法就是不需要人为调用的方法,基本是在特定的时刻自动触发
    - 魔术方法的统一的特征,方法名被前后各两个下滑线包裹

    - 操作类

    - `__init__`: 构造函数
    - `__new__`: 对象实例化方法,此函数较特殊,一般不需要使用
    - `__call__`: 对象当函数使用的时候触发
    - `__str__`: 当对象被当做字符串使用的时候调用
    - `__repr__`: 返回字符串,跟`__str__`具体区别请百度

    - 描述符相关

    - `__set__`
    - `__get__`
    - `__delete__`

    - 属性操作相关

    - `__getattr__`: 访问一个不存在的属性时触发
    - `__setattr__`: 对成员属性进行设置的时候触发
    - 参数:
    - self用来获取当前对象
    - 被设置的属性名称,以字符串形式出现
    - 需要对属性名称设置的值
    - 作用:进行属性设置的时候进行验证或者修改
    - 注意: 在该方法中不能对属性直接进行赋值操作,否则死循环
    - 参看案例

    - 运算分类相关魔术方法

    - `__gt__`: 进行大于判断的时候触发的函数
    - 参数:
    - self
    - 第二个参数是第二个对象
    - 返回值可以是任意值,推荐返回布尔值
    - 案例
  • 相关阅读:
    AFNetwork 作用和用法详解
    ios 常见错误记录
    UIView的setNeedsLayout, layoutIfNeeded 和 layoutSubviews 方法之间的关系解释
    AutoLayout
    矩阵的法式
    极小多项式
    对角化
    线性映射
    线性方程组的解
    特征值和特征向量
  • 原文地址:https://www.cnblogs.com/sl0309/p/10410115.html
Copyright © 2011-2022 走看看