【Python训练营打卡】day29 @浙大疏锦行
DAY 29 复习日
知识点回顾
1. 类的装饰器
2. 装饰器思想的进一步理解:外部修改、动态
3. 类方法的定义:内部定义和外部定义
作业:复习类和函数的知识点,写下自己过去29天的学习心得,如对函数和类的理解,对python这门工具的理解等,未来再过几个专题部分我们即将开启深度学习部分。
函数
一、函数定义的基本语法
def 函数名(参数列表):"""文档字符串(可选):说明函数的功能、参数、返回值等"""# 函数体:具体执行的代码逻辑语句1语句2...[return 返回值] # 可选,无返回值时默认返回 None
二、函数框架的核心组成部分
1. 函数名
- 作用:标识函数,需符合 Python 变量命名规则(字母、数字、下划线,不能以数字开头,区分大小写)。
- 规范:见名知意,通常用小写字母和下划线组合(如
calculate_sum
、parse_data
)。
2. 参数列表
-
作用:接收调用者传递的数据,分为以下几类:
- 必选参数:调用时必须传递的参数(位置参数)。
- 默认参数:有默认值的参数,调用时可省略。
- 可变参数:
*args
:接收任意数量的 位置参数,存储为元组。**kwargs
:接收任意数量的 关键字参数,存储为字典。
- 仅限关键字参数:参数列表中
*
之后的参数,必须通过关键字传递。
参数顺序:
def func(必选参数, 默认参数=默认值, *args, 仅限关键字参数, **kwargs):pass
装饰器(修改函数行为)
def decorator(func):def wrapper():print("前置逻辑")func()print("后置逻辑")return wrapper@decorator # 等价于 hello = decorator(hello)
def hello():print("Hello, World!")hello() # 调用时执行:前置逻辑 → 函数本体 → 后置逻辑
装饰器的执行时机
- 装饰器在类或函数定义时立即执行,而非调用时。例如
def decorator(cls):print("装饰器执行!")return cls@decorator
class MyClass: pass # 输出:装饰器执行!(定义时执行)
类与对象
1. 面向对象编程(OOP)基础
- 类(Class):定义对象的模板,包含属性(数据)和方法(行为)。
- 对象(Object):类的实例,通过实例化类创建(如
obj = ClassName()
)。 - 三大特性:
- 封装:将数据和方法包装在类中,通过
self
访问实例属性。 - 继承:子类继承父类的属性和方法(如
class Child(Parent):
),支持多继承。 - 多态:不同子类对象对同一方法有不同实现(如鸭子类型)。
- 封装:将数据和方法包装在类中,通过
2. 类的核心组成
- 构造方法:
__init__(self, ...)
,用于初始化实例属性。 - 实例方法:默认第一个参数为
self
,操作实例属性(如def method(self):
)。 - 类方法:用
@classmethod
装饰,第一个参数为cls
,操作类属性(如@classmethod def class_method(cls):
)。 - 静态方法:用
@staticmethod
装饰,无默认参数,与类 / 实例无关(如@staticmethod def static_method():
)。 - 属性(Property):用
@property
装饰,将方法伪装成属性调用(如只读属性)。
3. 继承与多态
- 单继承:子类继承单个父类:
class Animal:def speak(self):raise NotImplementedError # 强制子类实现class Dog(Animal):def speak(self): # 重写父类方法return "Woof"
- 多继承:子类继承多个父类(需注意菱形继承的优先级问题):
class A: pass
class B(A): pass
class C(A): pass
class D(B, C): pass # D 的 MRO 顺序为 D -> B -> C -> A -> object
@浙大疏锦行
相关文章:
【Python训练营打卡】day29 @浙大疏锦行
DAY 29 复习日 知识点回顾 1. 类的装饰器 2. 装饰器思想的进一步理解:外部修改、动态 3. 类方法的定义:内部定义和外部定义 作业:复习类和函数的知识点,写下自己过去29天的学习心得,如对函数和类的理解,…...
React 19版本refs也支持清理函数了。
文章目录 前言一、refs 支持清理函数二、案例演示1.useEffect写法2.React 19改进 的ref写法 总结 前言 React 19版本发布了ref支持清理函数了,这样就可以达到useEffect一样的效果了。为啥需要清理函数呢,这是因为节约内存。 清理事件监听(避…...
uniapp的适配方式
文章目录 前言✅ 一、核心适配方式对比📏 二、rpx 单位:uni-app 的核心适配机制🧱 三、默认设计稿适配(750宽)🔁 四、字体 & 屏幕密度适配🛠 五、特殊平台适配(底部安全区、刘海…...
Java面试场景:从音视频到AI应用的技术探讨
面试场景:音视频与AI应用技术的碰撞 在某互联网大厂的面试中,面试官王先生与求职者明哥展开了一场关于音视频技术与AI应用的对话。 第一轮提问:音视频场景 面试官:明哥,你能谈谈在音视频场景中,Spring B…...
es聚合-词条统计
es语句 ---普通结构----"tags":{"type": "keyword","index": true},GET /knowledge_test/_search {"size": 0,"aggs": {"tag_count": {"terms": {"field": "tags",&quo…...
【沉浸式求职学习day43】【Java面试题精选3】
沉浸式求职学习 1.Java中this和super的区别2.为什么返回类型不算方法重载3.方法重写时需要注意什么问题4.深克隆和浅克隆有什么区别5.如何实现深克隆6.什么是动态代理7.静态代理和动态代理的区别8.如何实现动态代理?9.JDK Proxy 和 CGLib 有什么区别?10.…...
OpenAI推出Codex — ChatGPT内置的软件工程Agents
OpenAI继续让ChatGPT对开发者更加实用。 几天前,他们增加了连接GitHub仓库的支持,可以"Deep Research"并根据你自己的代码提问。 今天,该公司在ChatGPT中推出了Codex的研究预览版,这是迄今为止最强大的AI编码Agent。 它可以编写代码、修复错误、运行测试,并在…...
Win 11开始菜单图标变成白色怎么办?
在使用windows 11的过程中,有时候开始菜单的某些程序图标变成白色的文件形式,但是程序可以正常打开,这个如何解决呢? 这通常是由于快捷方式出了问题,下面跟着操作步骤来解决吧。 1、右键有问题的软件,打开…...
中级统计师-统计学基础知识-第三章 参数估计
统计学基础知识 第三章 参数估计 第一节 统计量与抽样分布 1.1 总体参数与统计量 总体参数:描述总体特征的未知量(如均值 μ \mu μ、方差 σ 2 \sigma^2 σ2、比例 π \pi π)。统计量:由样本数据计算的量(如样本…...
学习黑客HTTP 请求头
HTTP 请求头(Request Headers)是 HTTP 请求中非常重要的一部分,它们以键值对的形式向服务器传递关于请求的附加信息、客户端的能力或上下文。 理解请求头对于 Web 开发、API 交互、网络调试和安全都至关重要。下面我将常见的 HTTP 请求头字段…...
日志参数含义
一 学习率相关 base_lr:基础学习率,初始设定的学习率 -lr:当前实际使用的学习率,通常是 base_lr 经过学习率调整策略后的值,比如lrbase_lr*(1start_factor) 时间统计 time:每次迭代总时间,单位…...
[Linux]安装吧!我的软件包管理器!
一、常见安装方式 在 Linux 中,有 3 种常见的软件安装方式: (1)yam、apt (2).rpm 安装包安装 (3)源码安装 二、什么是软件包 在 Linux 下安装软件,通常的办法是下载…...
Flink 作业提交流程
Apache Flink 的 作业提交流程(Job Submission Process) 是指从用户编写完 Flink 应用程序,到最终在 Flink 集群上运行并执行任务的整个过程。它涉及多个组件之间的交互,包括客户端、JobManager、TaskManager 和 ResourceManager。…...
牛客网NC276110题解:小红的数组重排
牛客网NC276110题解:小红的数组重排 题目解析 算法思路 对数组进行排序(非降序)检查特殊情况: 如果存在三个连续相等的元素,则无解如果前两个元素都是0,则无解 若不存在特殊情况,则排序后的数…...
从零启动 Elasticsearch
elastic 有弹力的 ElaticSearch (ES)是一个基于 Lucene 的分布式全文检索引擎。可以做到近乎实时地存储、检索数据,并且本身具有良好的扩展性,可以扩展到上百台服务器,处理PB级别(1 Petabyte 1024TB&…...
nginx服务器实验
1.实验要求 1)在Nginx服务器上搭建LNMP服务,并且能够对外提供Discuz论坛服务。 在Web1、Web2服务器上搭建Tomcat 服务。 2)为nginx服务配置虚拟主机,新增两个域名 www.kgc.com 和 www.benet.com,使用http://www.kgc.…...
王树森推荐系统公开课 排序02:Multi-gate Mixture-of-Experts (MMoE)
专家模型 与上一节相同,模型的输入是一个向量,包含用户特征、物品特征、统计特征、场景特征,把向量输入三个神经网络,三个神经网络都是由很多全连接层组成,但是并不共享参数,三个神经网络各输出一个向量&a…...
【OpenCV基础 1】几何变换、形态学处理、阈值分割、区域提取和脱敏处理
目录 一、图像几何变化 1、对图片进行放大、缩小、水平放大和垂直放大 2、旋转、缩放、控制画布大小 二、图像形态学处理 1、梯度运算 2、闭运算 3、礼帽运算 4、黑帽运算 三、图像阈值分割 1、二值化处理 2、反二值化处理 3、截断阈值处理 4、超阈值零处理 5、低…...
代码随想录算法训练营 Day49 图论Ⅰ 深度优先与广度优先
图论 基础 图的概念 图的概念 概念清单有向图 (a)无向图 (b)有向/无向如图 a 所示每条边有指向如图 b 所示每条边没有箭头指向权值每条边的权值每条边的权值度-有几条边连到该节点 (eg V 2 V_2 V2 度为 3)入度/出度出度:从该节点出发的边个数入度:…...
LG P9844 [ICPC 2021 Nanjing R] Paimon Segment Tree Solution
Description 给定序列 a ( a 1 , a 2 , ⋯ , a n ) a(a_1,a_2,\cdots,a_n) a(a1,a2,⋯,an),有 m m m 次修改 ( l , r , v ) (l,r,v) (l,r,v): 对每个 i ∈ [ l , r ] i\in[l,r] i∈[l,r],令 a i ← a i v a_i\gets a_iv ai←…...
PyTorch音频处理技术及应用研究:从特征提取到相似度分析
文章目录 音频处理技术及应用音频处理技术音视频摘要技术音频识别及应用 梅尔频率倒谱系数音频特征尔频率倒谱系数简介及参数提取过程音频处理快速傅里叶变换(FFT)能量谱处理离散余弦转换 练习案例:音频建模加载音频数据源波形变换的类型绘制波形频谱图波形Mu-Law 编…...
【IPMV】图像处理与机器视觉:Lec10 Edges and Lines
【IPMV】图像处理与机器视觉:Lec10 Edges and Lines 本系列为2025年同济大学自动化专业**图像处理与机器视觉**课程笔记 Lecturer: Rui Fan、Yanchao Dong Lec0 Course Description Lec3 Perspective Transformation Lec7 Image Filtering Lec8 Image Pyramid …...
Elasticsearch 初步认识
Elasticsearch 初步认识 1 索引(index) 索引是具有相同结构的文档集合。例如,可以有一个客户信息的索引,包括一个产品目录的索引,一个订单数据的索引。在系统上索引的名字全部小写,通过这个名字可以用来执…...
数据库DDL
数据库DDL(数据定义语言)全面解析 一、DDL定义 DDL(Data Definition Language,数据定义语言)是SQL语言的一个子集,专门用于定义和管理数据库结构。它允许数据库管理员和开发人员创建、修改和删除数据库对象…...
企业级小程序APP用户数据查询系统安全脆弱性分析及纵深防御体系构建
一、用户数据查询系统安全现状分析 1.1 业务场景风险建模 在企业小程序用户数据查询业务中,普遍存在以下安全风险点: ①输入验证缺失:未对姓名、身份证号等关键输入进行严格的格式校验与合法性检查 ②身份认证薄弱:仅依赖基础参数…...
互联网大厂Java面试:从Spring Boot到微服务架构的技术深挖
场景描述 在某互联网大厂的面试会议室里,严肃的面试官老王正审视着面前的程序员明哥。这场面试以业务场景为切入点,围绕Java技术栈展开。 第一轮:基础知识与Spring生态 面试官老王: 明哥,你对Spring Boot的核心功能…...
23种设计模式解释+记忆
一、创建型模式(5种)—— “怎么造对象?” 单例模式(Singleton) 场景:公司的CEO只能有一个。 核心:确保一个类只有一个实例,全局访问。 关键词:唯一、全局访问。 工厂方…...
逻辑与非逻辑的弥聚
非逻辑弥聚与逻辑弥聚是复杂系统中两种不同的信息整合方式。逻辑弥聚侧重于通过明确的规则、规律和结构化方法,将分散的信息或功能进行有序的组织和集中处理,强调理性和确定性。而非逻辑弥聚则更多地涉及情感、直觉、经验等非线性、非结构化的因素&#…...
Python 从列表中删除值的多种实用方法详解
# Python 从列表中删除值的多种实用方法详解 在Python编程中,列表(List)是一种常用的数据结构,具有动态可变的特性。当我们需要从列表中删除元素时,根据不同的场景(如按值删除、按索引删除、批量删除等&…...
C++多线程数据错乱
C多线程数据错乱(也称为线程安全问题或数据竞争)主要是由于多个线程在没有正确同步的情况下,并发访问和修改共享数据导致的。其主要原因包括以下几个方面: 一、线程交替执行导致的非原子操作 线程在执行时,可能会在中途被挂起&a…...
StarRocks Community Monthly Newsletter (Apr)
版本动态 3.4.3 版本更新 核心功能升级 Routine Load和Stream Load新增Lambda表达式支持,支持复杂的列数据提取 增强JSON数据处理能力,支持将JSON Array/Object转为ARRAY/MAP类型 优化information_schema.task_runs视图查询,新增LIMIT支持…...
延时双删-争议与我的思路-001
目录 概括大概思路目的场景思路一退货时间差 思路2思路3 最后 概括 延时双删,是指在代码中删除两次缓存. 第一次自己访问,先删除.之后直接访问数据库获得数据 第二次是指 在第一步之后,在删除一次缓存的数据 大概思路 不进行延时双删的.寻找别的解决方法 目的 主要是为了…...
Tomcat简述介绍
文章目录 Web服务器Tomcat的作用Tomcat分析目录结构 Web服务器 Web服务器的作用是接收客户端的请求,给客户端作出响应。 知名Java Web服务器 Tomcat(Apache):用来开发学习使用;免费,开源JBoss࿰…...
掌握版本控制从本地到分布式
一、什么是版本控制? 版本控制是一种记录文件(尤其是源代码)在“时间轴”上变更的系统,主要功能包括: 历史回溯:随时恢复到任意版本的代码或文档;差异比较:查看两个版本之间的改动…...
Linux `touch` 命令深度解析与高阶应用指南
Linux `touch` 命令深度解析与高阶应用指南 一、核心功能解析1. 基本作用2. 与类似操作对比二、选项系统详解1. 基础选项说明2. 时间格式说明三、高阶应用技巧1. 时间戳控制2. 批量文件操作3. 特殊文件处理四、企业级应用场景1. 日志系统维护2. 持续集成系统3. 安全审计跟踪五、…...
Django学习
1:在PyCharm终端: # 查看已安装的Django版本 python -m django --version # 或 pip show django # 卸载当前Django pip uninstall django# 安装指定版本(例如Django 3.2.10) pip install django3.2.10 2. 检查Python版本兼容性 …...
Java IO框架
I/O框架 流 流的分类: 按方向: 输入流:将存储设备的内容读入到内存中 输出流:将内存的内容写入到存储设备中 按单位: 字节流:以字节为单位,可以读取所有数据 字符流:以字符为单…...
Spring AI Alibaba集成阿里云百炼大模型
1.准备工作 开发环境:JDK17、SpringBoot3.x 2.引入maven依赖 <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance&q…...
5月18总结
一.算法题总结 1. 解题思路:对于这个题,我最开始想到就是二分,但是头痛的是有三个解,如果我在-100到100之间二分,那么只能得出一个解,然后我就想了一下,这个要求精度,那么0.01这么小…...
动态规划(4)可视化理解:图形化思考
引言 动态规划作为一种强大的算法设计范式,其抽象性常常使初学者感到困惑。许多学习者在理解状态定义、状态转移方程和递归结构时遇到困难,这些困难往往源于动态规划问题的高度抽象性和复杂性。然而,人类的大脑天生擅长处理视觉信息,通过将抽象的动态规划概念转化为直观的…...
2025年- H31-Lc139- 242.回文链表(快慢指针)---java版--需2刷
1.题目描述 2.思路 (1)将链表取中位数,分为左右两部分。 (2)右半部分的元素进行反转链表,能达到O(1)的空间复杂度 (3)再判断左右部分的元素,是否…...
云原生安全:IaaS安全全解析(从基础到实践)
🔥「炎码工坊」技术弹药已装填! 点击关注 → 解锁工业级干货【工具实测|项目避坑|源码燃烧指南】 一、基础概念:IaaS的核心价值与安全边界 1.1 什么是IaaS? 基础设施即服务(Infrastructure as a Service)是云计算的基础层,提供虚拟机、存储、网络等基础资源。用户通过…...
【AGI】大模型微调数据集准备
【AGI】大模型微调数据集准备 (1)模型内置特殊字符及提示词模板(2)带有系统提示和Function calling微调数据集格式(3)带有思考过程的微调数据集结构(4)Qwen3混合推理模型构造微调数据…...
二分算法的介绍简单易懂
目录 1.概论 2.朴素的二分算法 3.求左端点的二分算法和求右端点的二分算法 4.总结 1.概论 要想了解什么是二分算法,我们就要知道什么是二分算法,二分算法是根据数组的规律,每次查找的数据原来的效率可能要O(n),而我…...
Trae IDE和VSCode Trae插件初探
Trae IDE初探 输入以下提示词: 生成一个to do list清单web页面,采用vue实现,可以在页面上进行todolist进行增删改查。 VSCode Trae插件初探 trae vscode插件初探 tips:如果还是提示找不到npm命令,重启vscode即可&am…...
数据结构 -- 树形查找(三)红黑树
红黑树 为什么要发明红黑树 平衡二叉树AVL:插入/删除很容易破坏平衡性,需要频繁调整树的形态。如:插入操作导致不平衡,则需要先计算平衡因子,找到最小不平衡子树(时间开销大),在进行…...
Mac 在恢复模式下出现 旋转地球图标 但进度非常缓慢
如果您的 Mac 在恢复模式下出现 旋转地球图标 但进度非常缓慢,可能是由于网络连接或系统恢复机制的问题。以下是详细的解决方案: 1. 检查网络连接 • Wi-Fi 信号:确保您的 Wi-Fi 信号稳定,建议靠近路由器或使用有线网络ÿ…...
【YOLO(txt)格式转VOC(xml)格式数据集】以及【制作VOC格式数据集 】
1.txt—>xml转化代码 如果我们手里只有YOLO标签的数据集,我们要进行VOC格式数据集的制作首先要进行标签的转化,以下是标签转化的脚本。 其中picPath为图片所在文件夹路径; txtPath为你的YOLO标签对应的txt文件所在路径; xmlPa…...
【信息系统项目管理师】第8章:项目整合管理 - 39个经典题目及详解
更多内容请见: 备考信息系统项目管理师-专栏介绍和目录 文章目录 【第1题】【第2题】【第3题】【第4题】【第5题】【第6题】【第7题】【第8题】【第9题】【第10题】【第11题】【第12题】【第13题】【第14题】【第15题】【第16题】【第17题】【第18题】【第19题】【第20题】【第…...
“Cloud Native English“云原生时代下的微服务架构设计:从理论到实战全解析
前引 :技术演进与架构变革的必然性 在数字经济高速发展的今天,软件系统的复杂度呈指数级增长。传统单体架构已无法满足高并发、弹性扩展和快速迭代的需求。根据Gartner预测,到2026年全球75%的企业将完成微服务架构改造。本文将深入探讨云原生…...