知行编程网知行编程网  2023-01-09 23:00 知行编程网 隐藏边栏  3 
文章评分 0 次,平均分 0.0
导语: 本文主要介绍了关于彻底搞懂Python中的类的相关知识,包括python中的类怎样理解,以及python有类吗这些编程知识,希望对大家有参考作用。

彻底理解 Python 中的类

Python类的定义

在 Python 中使用 class 关键字定义一个类,其基本语法如下:

class 类名:
    多个(≥0)类属性...
    多个(≥0)类方法...

请注意,无论是类属性还是类方法,它们都不是类所必需的,它们可能存在也可能不存在。此外,Python 类中属性和方法的位置是任意的

意的,即它们之间并没有固定的前后次序。

和变量名一样,类名本质上也是一个标识符,所以我们在给类命名的时候,一定要符合Python的语法。有的读者可能会问,用a,b,c作为

班级的班级名称可以吗?从Python语法上看,完全没有问题,但是作为一个合格的程序员,我们还要考虑程序的可读性。

因此,在给班级命名时,最好使用能代表班级功能的词,如“Student”作为学生班级的班级名称;即使有必要,你也可以使用多个词组

例如,初学者定义的第一个类的类名可以是“TheFirstDemo”。

注意,如果类名由单词组成,建议每个单词首字母大写,其他字母小写。

给类起好名字后,后面必须跟一个冒号(:),意思是告诉Python解释器开始设计类的内部函数,即编写类属性和类方法。

实际上,类属性是指类中包含的变量;类方法是指类中包含的功能。换句话说,类属性和类方法实际上是包含类中的变量和函数。

数字的昵称。需要注意的一点是属于同一个类的所有类属性和类方法都应该保持统一的缩进格式,通常是4个空格。

通过以上分析,可以得出一个Python类是由类头(类名)和类体(统一缩进的变量和函数)组成的。例如下面的程序

序定义一个 TheFirstDemo 类:

class TheFirstDemo:
    '''这是一个学习Python定义的第一个类'''
    # 下面定义了一个类属性
    add = 'http://c.biancheng.net'
    # 下面定义了一个say方法
    def say(self, content):
        print(content)

和函数一样,我们也可以为一个类定义一个文档,应该放在类头之后,类体之前,比如上面程序第二行的字符串,就是TheFirstDemo

这个类的说明文档。

另外,分析上面的代码可以看出,我们创建了一个名为TheFirstDemo的类,其中包含一个名为add的类属性。注意根据定义属性位置

在每个类方法之外定义的变量称为类属性或类变量(如添加属性),而在类方法中定义的属性称为实例属性(或实例变量),

它们的区别和用法可阅读《Python类变量和实例变量》一节。

同时,TheFirstDemo 类中还包含一个 say() 类方法,细心的读者可能已经看到,该方法包含两个参数,分别是 self 和 content。可以肯

定的是,content 参数就只是一个普通参数,没有特殊含义,但 self 比较特殊,并不是普通的参数,它的作用会在后续章节中详细介绍。

更准确地说,say() 是一个实例方法。另外,Python类中也可以定义类方法和静态方法。这三类方法的区别和具体用法可以阅读

《Python实例方法、静态方法和类方法》。

其实我们可以创建一个没有任何类属性和类方法的类,换句话说,Python允许创建空类,例如:

class Empty:
    pass

可以看出,如果一个类没有任何类属性和类方法,那么可以直接使用pass关键字作为类体。但实际上,很少创建空类,因为

空类没有任何实际意义。

本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

知行编程网
知行编程网 关注:1    粉丝:1
这个人很懒,什么都没写
扫一扫二维码分享