Python类定义
Python 对一类使用进行定义 class 实现关键词的基本语法格式如下:
class类名: 多个(≥0)类属性... 多个(≥0)类方法...
请注意,无论是类属性还是类方法,它们都不是必要的,可以有也可以没有。此外,Python 类中属性和方法的位置是任意的
意思是他们之间没有固定的前后顺序。
和变量名一样,类名本质上是一个标志符,所以当我们给类命名时,我们必须让它符合要求 Python 语法。读者可能会问,使用 a、b、c 作
类别的类名可以吗?从 Python 就语法而言,完全没有问题,但是作为一个合格的程序员,我们还必须考虑程序的可读性。
因此,在命名类别时,最好使用能够代表该功能的单词,例如“使用”Student“作为学生的类名;即使有必要,也可以使用多个单词组
例如,初学者定义的第一类的类名可以是“TheFirstDemo”。
请注意,如果类名由单词组成,建议每个单词的首字母大写和其他字母小写。
给类起个好名字后,要跟着冒号(:),表示告诉 Python 解释器,以下是设计类的内部功能,即编写类属性和类方法。
事实上,类属性是指类中包含的变量;类方法是指类中包含的函数。换句话说,类属性和类方法实际上包含类中的变量和函数
数字的别称。需要注意的是,同一类的所有属性和方法都应保持统一的缩进格式,通常是统一的缩进格式 4 个空格。
通过以上分析,可以得出这样的结论,即 Python 类是由类头(class 类名)由类体(统一缩进的变量和函数)组成。例如,以下程
序定义一个 TheFirstDemo 类:
classTheFirstDemo: '''这是学习Python定义的第一类''' #下面定义了一个类属性 add='http://c.biancheng.net' #下面定义了一种say方法 defsay(self,content): print(content)
和函数一样,我们也可以定义类的文档,它应该放在类头后面,类体前面的位置,比如上面程序中第二行的字符串,就是 TheFirstDemo
这类说明文档。
从以上代码的分析可以看出,我们创建了一个名称 TheFirstDemo 它包含一个名称 add 类属性。请注意,根据属性位置的定义
各种方法以外定义的变量称为类属性或类变量(如 add 属性),在类方法中定义的属性称为实例属性(或实例变量),
它们的区别和用法可以阅读Python类变量和实例变量。同时,TheFirstDemo 类中还包含一个 say() 细心的读者可能已经看到,该方法包含两个参数,即 self 和 content。可以肯
定的是,content 参数只是一个没有特殊意义的普通参数,但是 self 比较特殊,不是普通参数,其作用将在后续章节中详细介绍。
更准确地说,say() 除此之外,这是一种实例方法,Python 类方法和静态方法也可以在类中定义, 3 可以阅读类型和方法的区别和具体用法
Python实例法、静态法和类法。
事实上,我们完全可以创建一个没有任何类属性和类方法的类,换句话说,Python 允许创建空类,例如:
classEmpty: pass
可以看出,如果一个类没有任何属性和方法,可以直接使用 pass 关键字可以作为类别。但在实际应用中,空类很少被创建,因为空类很少被创建
空类没有任何实际意义。