Python中的类变量、实例变量、局部变量

Python014

Python中的类变量、实例变量、局部变量,第1张

类体内,所有函数外定义

所有实例对象共享。

只有通过类名调用时才能修改,通过实例调用时无法修改。

假设某类变量名为“name",如果用该类的某个实例x来为name赋值:x.name = 'xxx',实质是为该实例新定义了一个变量name。且之后无法再通过该实例调用类变量name了。因为使用实例调用某名为“xxx”变量时,若该实例没有名为“xxx”的实例变量,则会去调用名为“xxx”的类变量;若有该名称的实例变量,则该实例无法再直接调用该名称对应的类变量。因此也不推荐通过实例来调用类变量。

即:通过类实例修改类变量的值时,实际是在定义新的与类变量同名的实例变量。

类体内,某函数(一般是__ init __ ())内定义。 “self.变量名”

因为是属于某个具体实例的,因此不能通过类名访问。

如果不在__ init __ () 中调用(该函数会在创建实例时自动调用一次),则只有调用该实例中定义目标实例变量的那个函数后,才能使用目标实例变量。因此最好在__ init __ () 中定义实例变量。

类体内,某函数内定义。

直接在函数内用“变量名=值”的方式进行定义。

函数执行完毕后,该局部变量即被销毁。

类的概念:

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

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

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

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

方法:类中定义的函数。在类内部,使用 def 关键字来定义一个方法,与一般函数定义不同,类方法必须包含参数 self, 且为第一个参数,self 代表的是类的实例。

构造函数:即__init()__,特殊的方法,在对象创建的时候被自动调用。

析构函数:即__del()__,特殊的方法,在对象被销毁时被自动调用。

实例化:创建一个类的实例,类的具体对象。就是将创建的类赋值给另一个变量。理解为赋值即可,a = class(),这个过程,就叫做实例化

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

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

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

————————————————

原文链接:https://blog.csdn.net/f156207495/article/details/81166252

网页链接