python面向对象学习总结.doc

python面向对象学习总结.doc

ID:48186056

大小:54.16 KB

页数:20页

时间:2020-01-22

python面向对象学习总结.doc_第1页
python面向对象学习总结.doc_第2页
python面向对象学习总结.doc_第3页
python面向对象学习总结.doc_第4页
python面向对象学习总结.doc_第5页
资源描述:

《python面向对象学习总结.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、word格式引言提到面向对象,总是离不开几个重要的术语:多态(Polymorphism),继承(Inheritance)和封装(Encapsulation)。Python也是一种支持OOP的动态语言,本文将简单阐述Python对面向对象的支持。在讨论Python的OOP之前,先看几个OOP术语的定义:·类:对具有相同数据和方法的一组对象的描述或定义。·对象:对象是一个类的实例。·实例(instance):一个对象的实例化实现。·标识(identity):每个对象的实例都需要一个可以唯一标识这个实例的标记。·实例属性(instanceattribute)

2、:一个对象就是一组属性的集合。·实例方法(instancemethod):所有存取或者更新对象某个实例一条或者多条属性的函数的集合。·类属性(classattribute):属于一个类中所有对象的属性,不会只在某个实例上发生变化·类方法(classmethod):那些无须特定的对性实例就能够工作的从属于类的函数。1.Python中的类与对象Python中定义类的方式比较简单:class 类名:类变量def__init__(self,paramers):def 函数(self,...)其中直接定义在类体中的变量叫类变量,而在类的方法中定义的变量叫实例变量

3、。类的属性包括成员变量和方法,其中方法的定义和普通函数的定义非常类似,但方法必须以self作为第一个参数。举例:classMyFirstTestClass:classSpec="itisatestclass"def__init__(self,word):print"say"+worddefhello(self,name):print"hello"+name在Python类中定义的方法通常有三种:实例方法,类方法以及静态方法。这三者之间的区别是实例方法一般都以self作为第一个参数,必须和具体的对象实例进行绑定才能访问,而类方法以cls作为第一个参数,c

4、ls表示类本身,定义时使用@classmethod;而静态方法不需要默认的任何参数,跟一般的普通函数类似.定义的时候使用@staticmethod。classMethodTest():count=0....word格式defaddCount(self):MethodTest.count+=1print"Iamaninstancemethod,mycountis"+str(MethodTest.count),self@staticmethoddefstaticMethodAdd():MethodTest.count+=1print"Iamastaticm

5、ethond,mycountis"+str(MethodTest.count)@classmethoddefclassMethodAdd(cls):MethodTest.count+=1print"Iamaclassmethod,mycountis"+str(MethodTest.count),clsa=MethodTest()a.addCount()'''Iamaninstancemethod,mycountis1<__main__.MethodTestinstanceat0x011EC990>'''a.staticMethodAdd();#Iama

6、staticmethond,mycountis2MethodTest.staticMethodAdd();#Iamastaticmethond,mycountis3a.classMethodAdd();#Iamaclassmethod,mycountis4__main__.MethodTestMethodTest.classMethodAdd();#Iamaclassmethod,mycountis5__main__.MethodTestMethodTest.addCount()'''Traceback(mostrecentcalllast):File

7、"",line1,inMethodTest.addCount()TypeError:unboundmethodaddCount()mustbecalledwithMethodTestinstanceasfirstargument(gotnothinginstead)'''从上面的例子来看,静态方法和类方法基本上区别不大,特别是有Java编程基础的人会简单的认为静态方法和类方法就是一回事,可是在Python中事实是这样的吗?看下面的例子:MethodTest.classMethodAdd();#Iamaclassme

8、thod,mycountis5__main__.MethodTestclasssubMetho

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。