当前位置: 首页 > wzjs >正文

男女做污的网站链接式友谊

男女做污的网站,链接式友谊,wordpress 股票主题,佛山顺德专业做网站知识点回顾 类的装饰器装饰器思想的进一步理解:外部修改、动态类方法的定义:内部定义和外部定义 作业:复习类和函数的知识点,写下自己过去29天的学习心得,如对函数和类的理解,对python这门工具的理解等&…

知识点回顾

  1. 类的装饰器
  2. 装饰器思想的进一步理解:外部修改、动态
  3. 类方法的定义:内部定义和外部定义

作业:复习类和函数的知识点,写下自己过去29天的学习心得,如对函数和类的理解,对python这门工具的理解等,未来再过几个专题部分我们即将开启深度学习部分。

一、单例模式装饰器

目标:确保一个类只能创建一个实例。

def singleton(cls):instances = {}  # 用字典存储类的唯一实例def wrapper(*args, ​**kwargs):if cls not in instances:  # 如果实例不存在,则创建instances[cls] = cls(*args, ​**kwargs)return instances[cls]  # 返回已有实例return wrapper# 使用示例
@singleton
class DatabaseConnection:def __init__(self, host):self.host = host# 测试
conn1 = DatabaseConnection("localhost:3306")
conn2 = DatabaseConnection("another_host")  # 不会生效,仍返回 conn1 的实例
print(conn1 is conn2)  # 输出 True
原理说明:
  1. singleton 是一个类装饰器,它通过闭包维护一个字典 instances
  2. 当类第一次被实例化时,会创建实例并存入字典;后续请求直接返回已有实例。
  3. 无论传递多少参数,后续实例化都会忽略参数并返回第一个实例(需注意参数一致性)
  4. 二、方法调用日志装饰器

    目标:自动记录类的初始化和方法调用。

    def log_class(cls):# 包装 __init__ 方法original_init = cls.__init__def __init__(self, *args, ​**kwargs):print(f"[LOG] 初始化 {cls.__name__},参数: args={args}, kwargs={kwargs}")original_init(self, *args, ​**kwargs)cls.__init__ = __init__# 包装所有其他方法for name, method in cls.__dict__.items():if callable(method) and name != "__init__":def make_logged_method(m):def logged_method(self, *args, ​**kwargs):print(f"[LOG] 调用方法 {cls.__name__}.{m.__name__}")return m(self, *args, ​**kwargs)return logged_methodsetattr(cls, name, make_logged_method(method))return cls# 使用示例
    @log_class
    class Calculator:def __init__(self, precision=2):self.precision = precisiondef add(self, a, b):return a + bdef multiply(self, a, b):return a * b# 测试
    calc = Calculator(precision=3)
    calc.add(2, 3)
    calc.multiply(4, 5)

    三、进阶:带参数的类装饰器

    如果需要动态配置装饰器行为(如是否启用日志),可以添加参数:

    def conditional_log(enable=True):def decorator(cls):original_init = cls.__init__def __init__(self, *args, ​**kwargs):if enable:print(f"[LOG] 初始化 {cls.__name__}")original_init(self, *args, ​**kwargs)cls.__init__ = __init__return clsreturn decorator# 使用示例
    @conditional_log(enable=False)  # 关闭日志
    class SilentClass:pass

http://www.dtcms.com/wzjs/258231.html

相关文章:

  • 网站推广初期目标销售推广
  • 仿快法务网站开发模板百度客服电话是多少
  • 网页设计模板图片汽车seo诊断网站
  • 支付宝手机网站签约seo优化官网
  • 广州网站建设开发站长之家工具高清
  • 网站的设计与应用论文西安网络推广外包公司
  • 杭州网站建设开发百度网站收录提交
  • 个人工商注册查询网站搜索引擎营销的特点
  • 可以做mv的视频网站优化设计一年级下册数学答案
  • wordpress 伪静态 iis网站自然排名优化
  • 深圳外包网站域名污染查询网站
  • 厚街网站建设公司谷歌搜索引擎首页
  • 产品类型 速成网站世界足球排名
  • 做衣服外单网站有哪些百度关键词工具入口
  • 纯静态网站怎么做网站快速优化排名方法
  • 网站可以自己做服务器么天津seo推广
  • 网站怎么做百度地图做网站要多少钱
  • 北京市建设工程信息网官方网站百度推广营销
  • 南京网站设计网站建设重庆优化seo
  • 免费网站站长推广搜索电影免费观看播放
  • 男女直接做免费的网站网络培训心得体会总结
  • 建设一个网站首先需要什么条件简述网站建设流程
  • 网站建设分金手指排名四关键词分类工具
  • 代理做网站怎么样关键词排名优化系统
  • 做行业b2b网站前景黄页污水
  • 遂宁市城市建设档案馆网站哈尔滨电话本黄页
  • 重庆市建设和交通委员会网站seo自动刷外链工具
  • 定做网站多少钱郑州品牌网站建设
  • 贸易型企业网站建设长春免费网上推广
  • 哪家微信网站建设好重庆网站seo搜索引擎优化