2018-10-31 20:27:01
类
类是数据与函数结合在一起,创建一个新类的同时也就创建了一个新的对象类型,从而允许创建该类型的新实例。类可以附加自己的属性,也可以有修改自己的方法。
类的特点:
1、可以多个基类继承机制;
2、派生出来的类可以重写基类的方法,名字可以和基类的方法一样;
3、对象可以是包括任意数量与类型的数据;
4、类同模块一样,也具有python的动态特性;运行时创建,创建后还可以再次修改
类有个体特性,对于多个的作用域有多个名字可以绑在同一个对象上。(其他语种中称之为 混叠)
命名
命名空间是名字倒对象的映射,是字典的体现。不同的模块有相同名称的函数不会混叠,因为在使用的使用,必须要用到模块名(完整,就不一样了)。
任何名字后面跟一个点就是属性名字。z.real中,real就是对象z的属性。严格来说,模块中的名称引用就是属性引用。
在这种情况下,模块的属性和模块中定义的全局名称之间恰好有一个直接的映射:它们共享相同的命名空间。
属性可只读或可写。可以写入新的参数,也可以删除。
名称空间是在不同的时刻创建的,具有不同的生命周期。
函数的本地命名空间在调用函数时创建。内置名称的命名空间是在Python解释器启动时创建的。读入模块定义时会创建模块的全局命名空间; 通常,模块命名空间也会持续到解释器退出。
类的语法
1、先定义,后用;
2、class classname:…
3、类对象支持两种操作,属性与实例的引用。__doc__也是一个隐含的属性。返回该类的文本。类的实例化就是函数表示(调用类对象),只是他是一个没有参数的函数。返回一个新的类实例。
4、创建一个空对象: __init__是一个特别的模块名字。
def __init__(self):
self.data = []
实例对象
属性引用:数据属性与方法。
方法与函数的区别:类对象调用的是方法,类调用的是函数。方法是自动传参self;函数是主动传参。
继承
基类
多重继承
多个基类
以下化纤为前缀的名称应视为API的非公共部分
迭代器
生成器
用于创建迭代器