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

网上作业网站怎么做的学生个人网页制作html

网上作业网站怎么做的,学生个人网页制作html,K12网站怎么建设,阿里云域名注册云盾知识点回顾 类的装饰器装饰器思想的进一步理解:外部修改、动态类方法的定义:内部定义和外部定义 既然函数可以复用,有了类和装饰器,那么类还能进一步封装么?可以的,类也有装饰器 回顾一下,函数的…

知识点回顾

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

既然函数可以复用,有了类和装饰器,那么类还能进一步封装么?可以的,类也有装饰器

回顾一下,函数的装饰器是 :接收一个函数,返回一个修改后的函数。我们之前是用复用的思想来看装饰器的,换一个角度理解,当你想修改一个函数的时候,可以通过装饰器方法来修改而无需重新定义这个函数。

类也有修饰器,他的逻辑类似:接收一个类,返回一个修改后的类。例如

1. 添加新的方法或属性(如示例中的 log 方法)。

2. 修改原有方法(如替换 __init__ 方法,添加日志)。

3. 甚至可以返回一个全新的类(继承或组合原类)。

通过类装饰器,可以在不修改类内部代码的情况下,为多个类统一添加功能(如日志、统计)

# 定义类装饰器:为类添加日志功能
def class_logger(cls):# 保存原始的 __init__ 方法original_init = cls.__init__def new_init(self, *args, **kwargs):# 新增实例化日志print(f"[LOG] 实例化对象: {cls.__name__}")original_init(self, *args, **kwargs)  # 调用原始构造方法# 将类的 __init__ 方法替换为新方法cls.__init__ = new_init# 为类添加一个日志方法(示例)def log_message(self, message):print(f"[LOG] {message}")cls.log = log_message  # 将方法绑定到类,这是一种将外部函数添加为类的属性的方法return cls# 定义简单打印类,应用装饰器
# 同样是语法糖的写法
@class_logger
class SimplePrinter:def __init__(self, name):self.name = name  # 构造方法:初始化名称def print_text(self, text):"""简单打印方法"""print(f"{self.name}: {text}")# 使用示例
printer = SimplePrinter("Alice")  # 实例化时触发装饰器的日志
printer.print_text("Hello, World!")  # 调用普通方法
printer.log("这是装饰器添加的日志方法")  # 调用装饰器新增的方法

[LOG] 实例化对象: SimplePrinter
Alice: Hello, World!
[LOG] 这是装饰器添加的日志方法

注意到其中的cls.log = log_message 这行代码,他把外部的函数赋值给了类的新定义的属性,这里我们介绍这种写法

实际上,定义类的方法,有2类写法

1. 在类定义内部直接写方法,这是静态方法,一般定义类都这么完成。

2. 在类定义外部定义方法,然后把方法赋值给类的属性---这是一种动态方法,常在装饰器中使用,可以再外部修改类的方法。

两种方式的本质都是将函数对象绑定到类的属性上,只是语法和应用场景不同。装饰器中常用外部赋值,是为了在不修改原类代码的情况下增强类的功能。

之前无论是函数还是类的装饰器,我们都发现是先有装饰器,再有类。那既然我们说了装饰器除了让原本的代码更加清晰可读可复用,还具有修改函数or类的功能。那如何修改之前已经写好的类or函数呢?

所以你还是需要理解 装饰器本质就是一个语法糖,对类而言:@decorator 语法只是 MyClass = decorator(MyClass) 的简写,即使类已定义,仍可手动调用装饰器函数修改它。

总结:装饰器的核心是动态修改类 / 函数,而不改变原代码。通过外部赋值,可以在不修改类定义的前提下,为类添加新方法或修改已有方法。---理解动态的含义

作业

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

1. 函数(Function)


本质:封装特定功能的代码块,接收输入(参数)并返回输出(结果)。
特点:
无状态:每次调用独立,不保留数据(除非用全局变量或闭包)。
即用即抛:像一次性工具,用完即释放内存。
常见场景:计算、数据处理、工具函数(如 len(), print())。


2. 类(Class)


本质:创建对象的蓝图,包含数据(属性)和操作数据的方法(函数)。
特点:
有状态:对象实例可以保存数据(如神经网络的权重)。
继承和多态:支持面向对象编程的三大特性(封装、继承、多态)。
常见场景:构建复杂系统(如深度学习模型、游戏角色)。

总结:代码是思想的映射

  • 函数是动词:描述“做什么”(如 calculate_loss)。
  • 类是名词:描述“是什么”(如 NeuralNetwork)。
  • Python是笔:用它清晰地表达逻辑,而非炫耀语法技巧。

经历了一个月的学习,对于传统机器学习和python代码基础有了一定的了解和掌握,也在kaggle数据平台做了实战演练,虽很粗糙但也是自己所学。拿到数据先认识数据,对数据预处理(清洗异常值,填补空值,数据类型转换,独热/标签编码,特征缩放:标准/归一化),处理数据集不平衡,特征筛选/降维,划分数据集,代入模型预训练,调优/寻找最优超参数,混淆矩阵打印预测结果对比,shap可解释性分析。也学会一些聚类增加特征的方法。期待下面深度学习的学习时光。

@浙大疏锦行-CSDN博客

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

相关文章:

  • 网站质量需求如何优化seo关键词
  • 娱乐网站 建站软件河南省疫情最新情况
  • 网站建设合作流程图网络营销乐云seo
  • 网站注册页面怎么做数据验证短链接购买
  • 中山如何建网站什么平台可以发广告引流
  • 移动端是不是手机端seo1视频发布会
  • 网站建设哪家公司好 电商 b2c临沂做网站建设公司
  • wordpress收录p搜索引擎优化推广
  • 网站项目ppt怎么做培训计划模板
  • 我做微信淘宝客网站怎么申请自己的域名
  • 精密科技东莞网站建设精准营销的案例
  • 广州专业网站建设有哪些网站策划书模板
  • 企业建设网站的必要性seo技巧分享
  • 维修网站怎么做成人用品网店进货渠道
  • 网站开发是怎么回事护肤品营销策划方案
  • 重庆市建设工程信息网招标代理入渝备案取消东莞seo整站优化
  • 武汉做网站的公司百度合作平台
  • 织梦儿童早教教育培训网站模板如何出售自己的域名
  • 网站建设公司服务谷歌seo优化排名
  • 公司开发个网站在线制作网页网站
  • 太原企业做网站百度站长
  • 网站模板建设报价广西seo快速排名
  • 广东省住房和城乡建设委员会官方网站阿里云万网域名购买
  • 凡科网做网站靠谱吗seo产品推广
  • 可以做ppt的网站网站seo排名优化软件
  • 建设的网站后台会自动退出是正常的深圳网站设计公司排行
  • 浙江网站设计公司建站服务
  • 做网站销售软文广告经典案例800字
  • 网络传奇游戏排行榜5000元网站seo推广
  • 需要网站开发分销渠道