Python类详解

Python类详解

ID:43485732

大小:400.25 KB

页数:11页

时间:2019-10-08

Python类详解_第1页
Python类详解_第2页
Python类详解_第3页
Python类详解_第4页
Python类详解_第5页
资源描述:

《Python类详解》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、定义Python的Class比较特别,和我们习惯的静态语言类型定义有很大区别。1.使用一个名为__init__的方法来完成初始化。2.使用一个名为__del__的方法来完成类似析购操作。3.所有的实例方法都拥有一个self参数来传递当前实例,类似于this。4.可以使用__class__来访问类型成员>>>>>>classMyClass:def__init__(self):print"initialize."defFoo(self):printid(self)>>>>>>a=MyClass()in

2、itialize.>>>>>>a.Foo()14412576>>>>>>id(a)14412576Class有一些特殊的属性,便于我们获得一些额外的信息。>>>>>>classMyClass(object):"""ThisisMyClass'sDocoment"""def__init__(self):self.i=1234>>>>>>MyClass.__doc__#类型帮助信息"ThisisMyClass'sDocoment""ThisisMyClass'sDocoment">>>>>>MyCla

3、ss.__name__#类型名称'MyClass'>>>>>>MyClass.__module__#类型所在模块'__main__'>>>>>>MyClass.__bases__#类型所继承的基类(Python支持多继承)(,)>>>>>>MyClass.__dict__#类型字典,存储所有类型成员信息>>>>>>#以下是实例拥有的属性>>>>>>MyClass().__class__#实例的类型

4、_main__.MyClass'>>>>>>>MyClass().__module__#实例类型所在模块'__main__'>>>>>>MyClass().__dict__#对象字典,存储所有实例成员信息{'i':1234}>>>>>>继承Python支持多继承,但有几点需要注意:1.基类__init__/__del__需显示调用。2.继承方法的调用和基类声明顺序有关。>>>>>>classBase1:def__init__(self):print"Base1"deftest(self):prin

5、t"Base1test">>>>>>classBase2:def__init__(self):print"Base2"deftest(self):print"Base2test">>>>>>classMyClass(Base2,Base1):def__init__(self):Base1.__init__(self)Base2.__init__(self)print"MyClass">>>>>>a=MyClass()Base1Base2MyClass>>>>>>a.test()Base2test>

6、>>>>>#下面把Base1放在前面>>>>>>classMyClass(Base1,Base2):def__init__(self):Base1.__init__(self)Base2.__init__(self)print"MyClass">>>>>>a=MyClass()Base1Base2MyClass>>>>>>a.test()Base1test>>>>>>成员PythonClass同样包含类型和实例两种成员。>>>>>>classClass1:i=123#类成员def__init__(

7、self):self.i=100#实例成员>>>>>>printClass1.i123>>>>>>printClass1().i100>>>>>>有几个很"特殊"的"规则"需要注意。(1)我们可以通过实例引用访问类型成员。因此下面的例子中self.i实际指向Class1.i,直到我们为实例新增了一个成员i。>>>>>>classClass1:i=123def__init__(self):printself.iprinthex(id(self.i))>>>>>>hex(id(Class1.i))#显

8、示Class1.i的地址'0xab5860'>>>>>>a=Class1()#创建Class1实例,我们会发现self.i实际指向Class1.i1230xab5860>>>>>>Class1.__dict__#显示Class1成员{'i':123,'__module__':'__main__','__doc__':None,'__init__':}>>>>>>a.__dict__#显示实例成员{}>>>>>>a.i=10

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

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

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