Python不单能用作结构化编程,还可以面向高级语言的对象,此文章将介绍Python面向对象的一种相关编程方案。希望你通过以下的文章,对Python面向对象的相关编程方案有所了解,也对其产生兴趣。
类的定义,类的定义使用关键字class,后跟类的名称,及":"。如定义一个Point类
定义一个空的类,没有任何属性与方法
- class Point:
- pass
- '''
向类中添加类属性(有的称之为类成员),类属性与其它的变量使用方法一致,第一次使用便是对此变量的定义,属性的作用域为整个类,即这个类的所有方法可以访问此属性,定义Point属性的属性x和y
定义一个空的类,没有任何属性与方法
- class Point:
- # 定义x和y坐标
- x = 10
- y = 10
- '''
类方法为特殊的函数,其定义方法与函数类似,但有一个默认的参数self,表示此类对象的实例(instance),定义类的方法,设置x的方法setX和获取x的方法getX。
'''
定义一个完整的类,包含属性与方法
- class Point:
- # 定义x和y坐标
- x = 10
- y = 10
- def setX(self,x_):
- self.x = x_
- def getX(self):
- return self.x
- def setY(self,y_):
- self.y = y_
- def getY(self):
- return self.y
- def setXY(self,x_,y_):
- self.setX(x_)
- self.setY(y_)
- '''
注意:这个类方法如何访问类属性,使用self.x,而不是x。python类方法与C++不同,类的成员方法不会自动使用类的属性,必须使用self明确指定。如果只使用x,则在setX函数中创建了一个变量x,并将其值设置为_x。同样对于类方法之间互相访问时也必须使用self指定为调用的为类的方法。
python还支持在类定义块之外定义方法,这个方法满足类方法,例如先定义一个函数
然后定义类,并将类成员h赋值为
- outX
- def out_setX(self,x_):
- self.x = x_
创建一个类的对象,并访问这个类的属性和方法
创建Point的一个对象
- pt = Point()
设置坐标x的值
- x = 10
- y = 10
- setX = out_setX
- pt.x = 10
获取坐标x的值
- print pt.x
访问对象的方法
- pt.setX(20)
- '''
以上是对Python面向对象创建一个类的对象的开头一部分,希望你能从中得到相关的信息。
【编辑推荐】