类和对象

作者: 酷飒de小姐姐 | 来源:发表于2021-04-04 08:12 被阅读0次

类在面向对象编程中是很基础的概念,其最基本的功能就是创建新的数据类型,另外还有继承功能,就是可以从一个类A派生出一个新的类B,且类B会继承类A的所有属性。

定义一个空类,即一个什么属性都没有的类,一个什么事情也做不了的类:

class 类名:

pass

类名要求和变量名一样,可以由字母、数字和下划线组成,一般首字符是大写的字母,对于长度没有限制。

类定义完之后便可以使用该类来创建实例,方法如下:

实例对象名 = 类名()

类的属性:

类本身也是一个对象,它也有自己的属性。类的属性一般表示类的相关内容,如类的版本和作者等信息。类的属性的定义是在类里面直接定义一个变量即可:

class Student:

   student_version=1.0

    student_author='python3.0'

print(Student.student_author,Student.student_version)

类的属性的访问方法是“类名.属性名”。这些属性也是可以修改的,如可以修改Student类的version属性。

初始化函数和销毁函数

初始化函数是用来初始化实例对象的。每次构造一个实例对象时,都会调用该类的初始化函数。在该初始化函数中可以初始化实例对象,或者更新类的某些属性,如该类构造出来的实例对象的个数。初始化函数也可以带参数,通过不同参数来构造不同的实例对象。初始化函数的样式如:__init__(self,参数列表)

构造函数

【注】在Python中定义多个初始化函数是没有意义的,因为最终只有一个初始化函数有效,即最后定义的初始化函数会覆盖所有前面定义的初始化函数。

销毁函数在对象被销毁时调用,它不可以有参数。一般使用del()来明确销毁某个对象。销毁函数的定义方法如:__del__(self)

销毁函数

如果定义的销毁函数带有除self之外的参数,那么在销毁对象时会导致异常。

类属性和实例对象属性的关系

实例对象是基于类创建出来的,所以对象会继承类的属性。通过下面的例子可以看到对象自动继承了类的所有属性:

实例对象继承类

【注】这些从类继承得到的对象,并不是复制下来的,它们是指向类的属性的。通过看id:

print(id(student_a.version),id(Student.version))#输出结果:2419351265944,2419351265944,他们是同一个对象

还可以通过修改类属性来观察实例继承的属性也发生了变化。

但是修改对象的属性不会反映到类的属性上。如下:修改了对象的属性version,但是类Student的version属性是没有变化的。

class Student:

version ='3.0'

    author ='python3.0'

    def __init__(self):

print('version : %s,author : %s' %(Student.version,Student.author))

student_a = Student()

student_a.version ='9.9'

print(student_a.version,Student.version)

print(id(student_a.version),id(Student.version))

输出结果如下:

version : 3.0,author : python3.0

9.9,3.0

2355262223336,2355261383320

比较特殊的情况是列表数据类型,它们可以在不改变id的情况下,发生内容的改变。如调用了append()接口函数,该列表的id不会发生变化,但其内容发生了变化。

对于这种类型的属性,如果id没有发生变化,修改对象从类继承来的属性会导致类属性的值的变化。

相关文章

  • 对象、类对象和元类对象

    http://www.tuicool.com/articles/mmyuUr http://blog.csdn.n...

  • python 类和对象

    类和对象 目标 类和对象的概念 类和对象的关系 类的设计 01. 类和对象的概念 类 和 对象 是 面向对象编程的...

  • 类,类对象和实例对象

    Python 的类定义写完之后就成了一个类对象,而引用这个类对象的就是实例对象。 类中定义的属性和方法都是静态属性...

  • 面相对象-02类和对象

    类和对象 目标 ●类和对象的概念●类和对象的关系●类的设计 01.类和对象的概念 类和对象是面向对象编程的两个核心...

  • python语法入门五

    类和对象 类和对象 基础 继承:python为多继承 类、类对象和实例对象 当实例对象声明后,再删除类对象,那么该...

  • 13.Python类和对象

    目标 类和对象的概念 类和对象的关系 类的设计 01. 类和对象的概念 类 和 对象 是 面向对象编程的 两个 核...

  • 12.Python类和对象

    目标 类和对象的概念 类和对象的关系 类的设计 01. 类和对象的概念 类 和 对象 是 面向对象编程的 两个 核...

  • 类和对象 ​​​

  • 类和对象

    对象=属性+方法 self 由同一个类可以生成无数对象,当一个对象的方法被调用是,对象会将自身的引用作为第一个参数...

  • 类和对象

    对象:对象是人们要进行研究的任何事物,它不仅能表示具体的事物,还能表示抽象的规则、计划或事件。对象具有状态,一个对...

网友评论

    本文标题:类和对象

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