栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > Python面试题库

2016年最新Python 面试题

2016年最新Python 面试题

谈谈装饰器

Python的装饰器也是一个函数,不过是返回函数对象的高阶函数,可以让其他函数在不修改代码的情况下增加额外的功能。经常用于添加log,

时间性能测试,事务处理,缓存等。装饰器可以抽离与具体函数无关的相同代码并进行重用。

 

Python实现单例模式

1.使用装饰器实现

def singleton(cls, *arg, **kw):

instances = { }

def _singleton():

if cls not in instances:

instances[cls] = cls(*arg, **kw)

return instances[cls]

return _singleton

2.使用基类

class Singleton(object):

def __new__(cls, *args, **kw):

if not hasattr(cls, ‘_instance’):

cls._instance = super(Singleton, cls).__new__(cls, *args, **kw)

return cls._instance

class MyClass(Singleton)

3.使用元类

class Singleton(type):

def __call__(cls, *args, **kw):

if not hasattr(cls, ‘_instance’):

cls._instance = super(Singleton, cls).__call(cls, *args, **kw)

return cls._instance

class MyClass(object):

__metaclass__ = Singleton

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/266537.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号