• python——类


    https://www.runoob.com/python/python-object.html
    http://c.biancheng.net/view/2283.html
    1.类体中、所有函数之外:此范围定义的变量,称为类属性或类变量;
    类变量为所有实例化对象共有,通过类名修改类变量的值,会影响所有的实例化对象
    类名.变量名 访问

    2.类体中,所有函数内部:以“self.变量名”的方式定义的变量,称为实例属性或实例变量;
    对象.变量名 访问

    3.类体中,所有函数内部:以“变量名=变量值”的方式定义的变量,称为局部变量。
    局部变量只能用于所在函数中,函数执行完成后,局部变量也会被销毁

    http://c.biancheng.net/view/4552.html
    https://www.cnblogs.com/shenh/p/13045035.html
    1.实例方法:
    参数第一个必须是self,代表对象/实例本身。
    只能用类的对象调用方法。
    不需要传递self参数,此时类的对象/实例 会隐式的传递到self。
    可以获取类属性、构造函数定义的变量

    构造函数也属于实例方法。
    类的构造方法,在一个对象被创建以后会首先被立即调用,来初始化新创建对象的状态,分配内存

    def __init__(self):
    
    • 1

    https://www.runoob.com/python/python-func-super.html
    如果在子类中需要父类的构造方法可选择:
    1)先super用来调用父类中的方法,然后自己的类中重写构造方法

    super(子类Class, self).xxx
    
    def __init__(self, name):
            super(Son, self).__init__(name)
    
    • 1
    • 2
    • 3
    • 4

    2)子类不重写父类的构造方法,即子类根本不写构造函数。实例化子类时,会自动调用父类定义的 init

    2.类方法:@classmethod
    参数第一个必须是cls,代表 类本身(注意不是实例本身,是有区别的)
    只能类.方法名直接调用。
    python 会自动将类本身传给 cls,所有这个参数也不需要我们传值。
    可以获取类属性,不能获取构造函数定义的变量

    3.静态方法:@staticmethod
    参数可以啥也没有
    两种调用方法都可以
    不需要使用任何类属性、构造函数定义的变量

  • 相关阅读:
    “蔚来杯“2022牛客暑期多校训练营(加赛) G题: Good red-string
    Github 2024-04-18 开源项目日报 Top10
    Docker安装Jenkins
    从 Linux 内核角度探秘 JDK MappedByteBuffer
    Python+大数据-Spark技术栈(四) SparkSQL
    Minio分布式存储系统
    python调用subprocess模块实现命令行操作控制SVN
    【数据库系统概论】数据模型
    期货开户手续费加一分是主流
    【微服务】Gunicorn服务器替换Flask自带的WSGI Server服务器
  • 原文地址:https://blog.csdn.net/weixin_40906441/article/details/125995591