Python中的类方法、实例方法、静态方法、构造方法是什么?有什么区别?

前端之家收集整理的这篇文章主要介绍了Python中的类方法、实例方法、静态方法、构造方法是什么?有什么区别?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

基础知识:

  • 类(Class): 用来描述具有相同的属性方法的对象的集合。它定义了该集合中每个对象所共有的属性方法。对象是类的实例。

  • 方法:类中定义的函数

  • 类变量:类变量在整个实例化的对象中是公用的。类变量定义在类中且在函数体之外。类变量通常不作为实例变量使用。

  • 数据成员:类变量或者实例变量用于处理类及其实例对象的相关的数据。

  • 方法重写:如果从父类继承的方法不能满足子类的需求,可以对其进行改写,这个过程叫方法的覆盖(override),也称为方法的重写。

  • 局部变量:定义在方法中的变量,只作用于当前实例的类。

  • 实例变量:在类的声明中,属性是用变量来表示的。这种变量就称为实例变量,是在类声明的内部但是在类的其他成员方法之外声明的。

  • 继承:即一个派生类(derived class)继承基类(base class)的字段和方法。继承也允许把一个派生类的对象作为一个基类对象对待。例如,有这样一个设计:一个Dog类型的对象派生自Animal类,这是模拟"是一个(is-a)"关系(例如,Dog是一个Animal)。

  • 实例化:创建一个类的实例,类的具体对象。

  • 对象:通过类定义的数据结构实例。对象包括两个数据成员(类变量和实例变量)和方法

代码所示:

class 类方法():
    # 类变量/类属性
    name=''
    age=0
    # 私有属性,私有属性在类外部无法访问
    _weigth=0
    # 构造函数
    def __init__(self,name,age)
        # 
        self.name=name
        self.age=age
        
    # 普通方法/实例方法
    def 测试方法1(self):
        pass
        
    # 私有方法,只能在类的内部调用 ,不能在类的外部调用
    def __测试方法2(self):
        pass
        
        
    @classmethod 类方法
    def 测试类方法(cls,age)
        pass
        
    @staticmethod #静态方法
    def 测试后静态方法():
        pass
        
类实例=类方法('旺财',18)
类实例.测试方法1()

真实代码

class Dog():
    name=''
    age=0
    __weight=0
    def __init__(self,age,weight):
        self.name=name
        self.age=age
        self.__weight=weight

参考:https://zhuanlan.zhihu.com/p/61168074

猜你在找的Python相关文章