您现在的位置是:首页 > Python 当前栏目 Python 类操作tips Python 对象 2023-03-02 11:48:36 时间 1. 对参数方便管理和赋值 class Hparams: def __init__(self): self.param1= 'param1' self.param2= 'param2' def __setattr__(self, key, value): self.__dict__[key] = value sq = Hparams() sq.param1= '000' 2. 装饰器的简单理解 > # 装饰器就是把其他函数作为参数的函数 > def log(func): > # # 在函数里面,装饰器在运行中定义函数: 包装. > # 这个函数将被包装在原始函数的外面,所以可以在原始函数之前和之后执行其他代码. > def wrapper(*args, **kw): > print('call %s():' % func.__name__) > func(*args, **kw) > print('after call %s()' % func.__name__) > return wrapper # 装饰器的返回值刚才包装过的函数 > > > @log > def demo(): > print("xxx") > > > demo() 3. 单例模式:程序运行期间只存在一个实例对象。 4. 类装饰器-单例模式: 装饰器里面的外层变量定义一个字典,里面存放类的实例.当第一次创建的时候,将这个实例保存到字典中. 以后每次创建对象,都去这个字典中判断一下,如果已经被实例化,就直接取这个实例对象.如果不存在就保存到字典中. > class Singleton: > """ > 单例装饰器。 > """ > __cls = dict() > > def __init__(self, cls): > self.__key = cls # 判斷類是否實例過的中間變量 > > def __call__(self, *args, **kwargs): # 在實例化類的時候 > if self.__key not in self.cls: # 未被實例化 > self[self.__key] = self.__key(*args, **kwargs) # 將類的實例賦給__key > return self[self.__key] > > def __setitem__(self, key, value): # 實例寫入 > self.cls[key] = value > > def __getitem__(self, item): # 實例獲取 > return self.cls[item] > > > @property # 函數當做屬性訪問 可讀 > def cls(self): > return self.__cls > > @cls.setter # 可寫 > def cls(self, cls): > self.__cls = cls 本文地址: Python 类操作tips 相关文章 python 变量操作 python计算平行线 [Python]过滤脏话 PYTHON继承学习 Python魔法函数 python 串口pyserial python高级函数 选择排序(Python) Python list 实现 python百分数小数 Python字符串乘法 Docker 安装 Python python实现栈 python第二课 Python学习指南 Python 虚拟机 Python基础笔记 Python学习(1) Day-6 python python基础04