python中类的语法

  介绍

小编给大家分享一下python中类的语法,希望大家阅读完这篇文章后大所收获、下面让我们一起去探讨吧!

在面向对象的程序设计过程中有两个重要概念:类(类)和对象(对象,也被称为实例,实例),其中类是某一批对象的抽象,可以把类理解成某种概念,对象才是一个具体存在的实体。从这个意义上看,日常所说的人,其实都是人的对象,而不是人类。

python定义类的简单语法如下:

类类名:   执行语句…   零个到多个类变量……   零个到多个方法……

类名只要是一个合法的标识符即可,但这仅仅满足的是Python的语法要求:如果从程序的可读性方面来看,Python的类名必须是由一个或多个有意义的单词连缀而成的,每个单词首字母大写,其他字母全部小写,单词与单词之间不要使用任何分隔符。

从上面定义来看,Python的类定义有点像函数定义,都是以冒号(:)作为类体的开始,以统一缩进的部分作为类体的。区别只是函数定义使用def关键字,而类定义则使用类关键字。

Python的类定义由类头(指类关键字和类名部分)和统一缩进的类体构成,在类体中最主要的两个成员就是类变量和方法。如果不为类定义任何类变量和方法,那么这个类就相当于一个空类,如果空类不需要其他可执行语句,则可使用通过语句作为占位符,例如,如下类定义是允许的:

类空:   通过

通常来说,空类没有太大的实际意义。

类中各成员之间的定义顺序没有任何影响,各成员之间可以相互调用。

Python类所包含的最重要的两个成员就是变量和方法,其中类变量属于类本身,用于定义该类本身所包含的状态数据:而实例变量则属于该类的对象,用于定义对象所包含的状态数据:方法则用于定义该类的对象的行为或功能实现。

Python是一门动态语言,因此它的类所包含的类变量可以动态增加或删除(程序在类体中为新变量赋值就是增加类变量),程序也可在任何地方为已有的类增加变量;程序可通过德尔语句删除己有类的类变量。

类似的是,Python对象的实例变量也可以动态增加或删除(只要对新实例变量赋值就是增加实例变量),因此程序可以在任何地方为己有的对象增加实例变量;程序可通过德尔语句删除已有对象的实例变量。

在类中定义的方法默认是实例方法,定义实例方法的方法与定义函数的方法基本相同,只是实例方法的第一个参数会被绑定到方法的调用者(该类的实例),因此实例方法至少应该定义一个参数,该参数通常会被命名为自我。

注意:实例方法的第一个参数并不一定要叫自我,其实完全可以叫任意参数名,只是约定俗成地把该参数命名为自我,这样具有最好的可读性。

在实例方法中有一个特别的方法:__init__,这个方法被称为构造方法。构造方法用于构造该类的对象,Python通过调用构造方法返回该类的对象(无须使用新的)。

Python中很多这种以双下划线开的头,双下划线结尾的方法,都具有特殊的意义,本教程后面还会详细介绍这些特殊的方法。

构造方法是一个类创建对象的根本途径,因此Python还提供了一个功能:如果开发者没有为该类定义任何构造方法,那么Python会自动为该类定义一个只包含一个自我参数的默认的构造方法。

下面程序将定义一个人类:

类人:   & # 39;这是一个学习Python定义的一个人类& # 39;   #下面定义了一个类变量=& # 39;头发黑色# 39;   def __init__(自我,name=& # 39;查理# 39;,年龄=8):   #下面为人对象增加2个实例变量   self.name=名字   自我。年龄=年龄   #下面定义了一个说方法   def说(自我、内容):   打印(内容)

上面类的人代码定义了一个构造方法,该构造方法只是方法名比较特殊:__init__,该方法的第一个参数同样是自我,被绑定到构造方法初始化的对象。

看完了这篇文章,相信你对python中类的语法有了一定的了解,想了解更多相关知识,欢迎关注行业资讯频道,感谢各位的阅读!

python中类的语法