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

套模版做的网站好优化吗网站建设费用还是网络专业

套模版做的网站好优化吗,网站建设费用还是网络专业,太原网站制作小程序,seo网站推广怎样知识点回顾 类的装饰器装饰器思想的进一步理解:外部修改、动态类方法的定义:内部定义和外部定义 作业:复习类和函数的知识点,写下自己过去29天的学习心得,如对函数和类的理解,对python这门工具的理解等&…

知识点回顾

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

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

一、类的装饰器

①为类添加版本信息

def add_version(cls):cls.version = "1.0.0"return cls@add_version
class MyClass:passprint(MyClass.version)  # 输出:1.0.0

②强制检查类方法实现

def check_interface(cls):required = ['save', 'load']for method in required:if not hasattr(cls, method):raise NotImplementedError(f"{method}() 必须被实现")return cls@check_interface
class DataProcessor:def save(self):pass# 若未实现load(),装饰器会抛出异常def load(self):pass

③单例模式装饰器

def singleton(cls):instances = {}def get_instance(*args, **kwargs):if cls not in instances:instances[cls] = cls(*args, **kwargs)return instances[cls]return get_instance@singleton
class AppConfig:def __init__(self):print("配置初始化")c1 = AppConfig()  # 输出:配置初始化
c2 = AppConfig()
print(c1 is c2)   # 输出:True

二、装饰器思想:外部修改与动态特性

①动态日志记录

def log_creation(cls):original_init = cls.__init__def new_init(self, *args, **kwargs):print(f"创建 {cls.__name__} 实例")original_init(self, *args, **kwargs)cls.__init__ = new_initreturn cls@log_creation
class User:def __init__(self, name):self.name = nameu = User("Alice")  # 输出:创建 User 实例

②条件性装饰器应用

DEBUG = Truedef debug_decorator(cls):if DEBUG:cls.debug_mode = Trueprint(f"{cls.__name__} 进入调试模式")return cls@debug_decorator
class DataLoader:passprint(DataLoader.debug_mode)  # 输出:True

三、类方法的定义方式

①内部定义类方法

class Calculator:@classmethoddef add(cls, a, b):return a + bprint(Calculator.add(3,5))  # 输出:8

②外部添加类方法

def multiply(cls, a, b):return a * bCalculator.multiply = classmethod(multiply)
print(Calculator.multiply(3,5))  # 输出:15

③外部添加实例方法

def power(self, exponent):return self.value ** exponentclass Number:def __init__(self, value):self.value = valueNumber.power = powern = Number(2)
print(n.power(3))  # 输出:8

四、综合应用

# 装饰器:自动注册子类
class ProcessorRegistry:registry = {}@classmethoddef register(cls, name):def decorator(subclass):cls.registry[name] = subclassreturn subclassreturn decorator@ProcessorRegistry.register("csv")
class CSVProcessor:@classmethoddef process(cls, data):return f"处理CSV数据: {data}"# 外部添加处理方法
def json_process(cls, data):return f"处理JSON数据: {data}"@ProcessorRegistry.register("json")
class JSONProcessor:process = classmethod(json_process)# 使用处理器
print(ProcessorRegistry.registry["csv"].process("test.csv"))  # 处理CSV数据
print(ProcessorRegistry.registry["json"].process("data.json")) # 处理JSON数据

关键点总结:

  1. 类装饰器:通过包装类实现批量功能注入

  2. 装饰器优势:非侵入式修改、动态组合功能

  3. 方法扩展

    • 内部定义:标准方式,结构清晰

    • 外部添加:灵活扩展,适合框架开发

  4. 动态特性:运行时决定功能组合,提升代码适应性

通过合理运用这些特性,可以构建出高扩展性和低耦合度的程序架构。


文章转载自:

http://kdsNituL.jfxth.cn
http://qc7S2tty.jfxth.cn
http://cj9tgxUh.jfxth.cn
http://jDIxdIF0.jfxth.cn
http://btdA3sM2.jfxth.cn
http://RSY6ZhxU.jfxth.cn
http://x0aeEX41.jfxth.cn
http://SBlUYPc3.jfxth.cn
http://eCFKbHu3.jfxth.cn
http://TFT60j0i.jfxth.cn
http://U8jyHobL.jfxth.cn
http://pPboQ905.jfxth.cn
http://Zxz3KpKp.jfxth.cn
http://gWQlrcAV.jfxth.cn
http://orcXeGB9.jfxth.cn
http://JtYLhch6.jfxth.cn
http://fLe5gAkZ.jfxth.cn
http://VWbHIa5M.jfxth.cn
http://72nINWsI.jfxth.cn
http://cWKrIq9E.jfxth.cn
http://UA8jN2L8.jfxth.cn
http://Bnh7UOWQ.jfxth.cn
http://4A65m4sk.jfxth.cn
http://CL8wCHfG.jfxth.cn
http://kZPjrU6H.jfxth.cn
http://FO3as5gx.jfxth.cn
http://yGQRk45s.jfxth.cn
http://IliwW5No.jfxth.cn
http://X0UEPRdL.jfxth.cn
http://4Iwmgwi2.jfxth.cn
http://www.dtcms.com/wzjs/745843.html

相关文章:

  • jsp和html做的招聘网站做国外直播网站
  • 地名网站建设方案wordpress分享到微博才能看到
  • 外贸网站建设哪个好昆明做网站公司哪家好
  • 温州做网站建设多少钱html5旅游网站
  • [ 1500元做网站_验收满意再付款! ]_沛县网络公司彩票网站开发周期
  • 泰州网站建设托管做网站的好处和坏处
  • 办公用纸网站建设网站的时间对齐应该怎么做
  • 专业网站优化制作公司新手如何做服装网站
  • 在阿里国际站做的网站申请域名网站价格
  • 网站图片设置方法网站建设专家有哪些
  • php网站的优点大型网站设计
  • 做最漂亮的网站睢宁网站建设xzqjwl
  • 网站创建一般创建哪种类型企业网站的优化建议
  • 惠州网站制作定制网站漂浮广告效果
  • 网站建设图片素材库网站怎么做企业
  • 营销网站更受用户欢迎的原因是做调研用到的大数据网站
  • 虚拟服务器建网站做优化网站建设
  • 金融网站cms多媒体网页设计
  • 网站建设需要知道什么做服装广告素材网站有哪些
  • led 网站建设产品软文是什么
  • 学网站开发多久小程序商城模板免费
  • 网站建设的技术亮点网站建设专家cms
  • 汽车城网站建设方案上海做原创网站
  • 国内买机票最便宜网站建设产品网站开发计划表
  • 做网站多久学会有网站源代码 怎么样建设网站
  • 建设银行瓶窑支行网站小工厂如何找外贸公司合作
  • 库尔勒网站cn.wordpress.org
  • kuake自助建站系统官网做网站可以赚钱吗
  • 怎么建设两个大淘客网站企业vi是什么意思
  • 网站开发实战项目做网站用什么语言制作最安全?