前言:
此刻咱们对“python函数和类的区别”可能比较关心,姐妹们都需要了解一些“python函数和类的区别”的相关资讯。那么小编同时在网络上网罗了一些有关“python函数和类的区别””的相关内容,希望姐妹们能喜欢,看官们一起来了解一下吧!导读:欢迎你来到站长在线的站长学堂学习Python知识,本文学习的是《Python中类定义详解》。
我们在上一节内容《Python中面向对象相关概述详解》中学习过,类是具有相同属性和方法的对象的集合。
在面向对象编程(程序设计)过程中有两个重要概念:类(class)和对象(Object,也被称为实例,Instance)。在使用类的时候,是先定义类,然后创建类的对象(实例),通过类的实例可以访问类中的属性和方法。
再借助上节课的人类和人类对象的关系示意图(下图),我们说的类(如:人类)是一批对象(如:一个正在码字的程序员)的抽象,对象是具体存在的实体。
在Python中,类的定义使用class关键字来实现,语法如下:
class ClassName: <statement-1> . . . <statement-N>
其中,相关参数说明如下:
ClassName:用于指定类名,一般使用大写字母开头,如果类名中包括多个单词,每个单词的首字母也大写,单词与单词之间不要使用任何分隔符。这种命名方法也称为“驼峰式命名法”,这是惯例。当然,也可根据自己的习惯命名,但是一般推荐按照惯例来命名。
注意:使用a,b,c这样的简单字母来定义类名,从语法上面来讲没有错误,但是作为一个合格的程序员,必须要考虑,程序的可读性。
<statement-1> . . . <statement-N>:用于类体,主要由类变量(或类成员)、方法和属性等定义语句组成。
如果在定义类时,没想好类的具体功能,也可以在类体中直接使用pass语句代替。如:
class Empty: pass
从上面定义来看,Python 的类定义有点像函数定义,都是以冒号(:)作为类体的开始,以统一缩进的部分作为类体的。区别只是函数定义使用 def 关键字,而类定义则使用 class 关键字。
类定义与函数定义 (def 语句) 一样必须被执行才会起作用。 (你可以尝试将类定义放在 if 语句的一个分支或是函数的内部。)
当进入类定义时,将创建一个新的命名空间,并将其用作局部作用域 --- 因此,所有对局部变量的赋值都是在这个新命名空间之内。 特别的,函数定义会绑定到这里的新函数名称。
当(从结尾处)正常离开类定义时,将创建一个 类对象。 这基本上是一个包围在类定义所创建命名空间内容周围的包装器;我们将在下一节了解有关类对象的更多信息。 原始的(在进入类定义之前起作用的)局部作用域将重新生效,类对象将在这里被绑定到类定义头所给出的类名称 (在这个示例中为 ClassName)。