python面向对象编程
虽然Python是解释型语言,但是它是面向对象的,能够进行面向对象编程。下面就来了解一下如何在Python中进行面向对象编程。
在进行python面向对象编程之前,我们先来了解几个术语:类,类对象,实例对象,属性,函数和方法。
类是对现实世界中一切事物的封装,定义一个类可以采用下面的方式来定义:
class className:
block
当一个类定义完之后,就产生了一个类对象。
注意类名后面有个冒号,在block块里面就可以定义属性和方法了。类对象支持两种操作:引用和实例化。
引用操作是通过类对象去调用类中的属性或者方法,而实例化是产生出一个类对象的实例,称作实例对象。比如定义了一个people类:
class people:
name = 'jack' #定义了一个属性
#定义了一个方法
def printName(self):
print self.name
people类定义完成之后就产生了一个全局的类对象,可以通过类对象来访问类中的属性和方法了。当通过people.name(至于为什么可以直接这样访问属性后面再解释,这里只要理解类对象这个概念就行了)来访问时,people.name中的people称为类对象,这点和C++中的有所不同。当然还可以进行实例化操作,p=people( ),这样就产生了一个people的实例对象,此时也可以通过实例对象p来访问属性或者方法了(p.name).
理解了类、类对象和实例对象的区别之后,我们来了解一下Python中属性、方法和函数的区别。
在上面代码中注释的很清楚了,name是一个属性,printName( )是一个方法,与某个对象进行绑定的函数称作为方法。一般在类里面定义的函数与类对象或者实例对象绑定了,所以称作为方法;而在类外定义的函数一般没有同对象进行绑定,就称为函数。