小编给大家分享一下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中类的语法有了一定的了解,想了解更多相关知识,欢迎关注行业资讯频道,感谢各位的阅读!