python中的类怎么定义怎么用(彻底搞懂Python中的类)
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 关键字作为类体即可 。但在实际应用中 ,很少会创建空类 ,因为
创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!