python打卡day29

@疏锦行
知识点回顾

  1. 类的装饰器

类装饰器接收一个类,返回一个修改后的类。其主要作用是在不修改类内部代码的情况下,为多个类统一添加功能,如添加新的方法或属性、修改原有方法,甚至返回一个全新的类。例如 class_logger 装饰器为 SimplePrinter 类添加了日志功能,在实例化时打印日志,并新增了 log 方法。

  1. 装饰器思想的进一步理解:外部修改、动态

装饰器本质是一种语法糖,核心是动态修改类或函数,而不改变原代码。对于类而言, @decorator 语法是 MyClass = decorator(MyClass) 的简写,即使类已定义,仍可手动调用装饰器函数修改它。通过外部赋值,可以在不修改类定义的前提下,为类添加新方法或修改已有方法。

  1. 类方法的定义:内部定义和外部定义

内部定义 :在 class 块内使用 def 定义方法,这是常规的类定义方式。方法可以直接访问类的其他私有成员,类定义后方法固定,常用于常规类定义。
外部定义 :定义函数后赋值给类属性(如 cls.fn = fn ),这是一种动态方法,常在装饰器、元类、动态编程中使用。需要通过 self 或类名显式访问类的成员,可以在运行时动态添加或修改方法。

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

相关推荐
北斗落凡尘9 小时前
LangGraph 入门实战(2)
python·langchain
ttod_qzstudio9 小时前
Java 常用语法极简通关(五):类与对象——字段、方法、构造器、this 与 static
java·开发语言·python
jufeng130710 小时前
【系列:手搓自主 AI Agent:Hermes 架构原理剖析 · 第 1 篇】
人工智能·python·架构·agent
月光船幽幽11 小时前
影子模式下保护 logits 不被修改
人工智能·python·算法
_oP_i14 小时前
python 后缀 mjs文件
开发语言·python
北斗落凡尘14 小时前
如何使用LangGraph(1)
python·langchain
Livia要学习15 小时前
Python装饰器
开发语言·python
大模型丫丫16 小时前
LangChain4j:Java 生态的 AI 应用开发利器
java·人工智能·python
circuitsosk16 小时前
向量数据库选型与性能压测:Milvus、Pinecone、Chroma在真实业务下的对比
数据库·python·pinecone·milvus·向量数据库·chroma
雾时之林16 小时前
python--字符串
开发语言·python