Python相关
一、类方法、类实例方法、静态方法区别类方法:类对象的方法,使用“@classmethod”进行装饰,形参为cls,表示类对象,类对象和实例对象都可调用。 类实例方法:类实例化对象的方法,只有实例对象可以调用,形参self,指代对象本身。 静态方法:是一个任意函数,使用“@staticmethod”装饰,可以用对象直接调用,静态方法与该类没有太大关系。 二、迭代器和生成器迭代器:符合迭代器协议,具有next和stopInteration的属性。比如 list,tuple等都是迭代器,可以直接用于for循环的。 生成器:使用生成器可以很方便的支持迭代器协议。生成器通过生成器函数产生,用yield一次返回一个结果。yield是一个语法糖,内部实现支持了迭代器协议,同时yield内部是一个状态机,维护着挂起和继续的状态。 生成器就是一类特殊的迭代器,生成器能做到迭代器能做的所有事。除了创建和保存程序状态的自动方法,当生成器终结时,还会自动抛出 StopIteration 异常。 三、设计模式——单例模式class A(object): __instance = None def __new__(cls,*args,**kwargs): if cls.__instance is None: cls.__instance = object.__new__(cls) return cls.__instance else: return cls.__instance 单例模式使用场景: 1、资源共享的情况下,避免由于资源操作时导致的性能或 损耗。 2、控制资源的情况下,方便资源之间的互相通信。 四、装饰器装饰器本质上是一个python函数,它可以让其他函数在不需要做任何代码变动的前提下增加额外功能,装饰器的返回值也是一个函数对象。 import time def timeit(func): def test(): start = time.clock() func() end = time.clock() print(‘time used:‘,end-start) return test @timeit def foo(): print(‘hello‘) foo() 五、闭包在函数内部再定义一个函数,并且这个函数用到了外边函数的变量,那么将这个函数以及用到的一些变量称之为闭包。 六、面向对象与面向过程面向过程是一种基于功能分析的、以算法为中心的程序设计方法; 面向对象是一种基于结构分析的、以数据为中心的程序设计思想。使用类,三大特性:封装、继承、多态。 七、Python调优1、使用多线程,充分利用机器的多核 2、对于性能影响较大的部分使用C/C++编写 3、对于IO阻塞造成的性能影响,使用IO多路复用来解决 4、尽量使用Python内建函数 5、尽量使用局部变量 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |