python学习(fifth) 前言今天睡过头了7点多醒了一回就想着再睡一会9点会有闹钟叫我的结果9:29才醒来手机自动关机了ε(´ο*)))唉这都是小事我总觉得我干什么都没精神干什么都好累md食欲倒是挺好是不是总抽烟的事啊那每天少抽一点吧饮食的话我也没什么好办法吃的也就那样一点蔬菜都没有最近倒是越来越馋了。ε(´ο*)))唉情绪也比较悲观外面天气死热就没有一个正面buff吗算了不说了去学习吧。一、项目交接1-虚拟环境虚拟环境 让每一个项目都有独立的依赖环境避免不同项目之间的依赖冲突创建虚拟环境python -m venv venv激活虚拟环境venv/Scripts/activate退出虚拟环境deactivate二、函数进阶2-闭包外层函数执行完毕后局部变量本该销毁但闭包会保留变量供内层函数后续调用。优点保存函数状态、减少全局变量、简化代码结构缺点外层变量会常驻内存内存占用比普通函数高3-lambda 匿名函数给我的感觉就是方便配合 sorted() 排序自定义规则lst [(张三,18),(李四,16)]res sorted(lst, keylambda x: x[1])临时简单逻辑不用单独定义命名函数限制只能一行表达式复杂逻辑必须用def定义普通函数。4-高阶函数接收函数作为参数或者返回一个函数的函数就是高阶函数。能增强函数功能就是复杂map遍历别的不干。filter过滤只保留函数返回True的元素。reduce依次把前一次结果和下一个元素传入函数运算累计计算。5-装饰器基础无语法糖时def deco(func): # 内层包装函数 def wrapper(*args, **kwargs): # 前置功能 print(函数开始执行) res func(*args, **kwargs) # 执行原函数 # 后置功能 print(函数执行结束) return res return wrapper # 手动赋值 def test(): print(原函数逻辑) test deco(test) test()有语法糖时def deco(func): def wrapper(*args, **kwargs): print(前置) r func(*args, **kwargs) print(后置) return r return wrapper deco def test(a,b): return ab常用日志记录、运行耗时统计、权限校验、异常捕获、接口缓存。三、面向对象1-类和对象类模板、图纸定义一类事物共同属性和行为对象 / 实例根据模板创建出的具体个体Python 万物皆对象数字、字符串、字典、列表全都是某个类的实例2-继承和多态子类可以直接复用父类的属性与方法减少重复代码语法class 子类(父类)super()调用父类被重写的方法常用在子类构造函数class Cat(Animal): def __init__(self, name): super().__init__() # 执行父类__init__ self.name name多态同一个方法不同子类实现不同逻辑调用时自动匹配对应子类实现。核心关注父类抽象不关注具体子类类型3-封装和属性封装将属性、方法打包进类内部隐藏私有数据不允许外部随意修改仅开放指定访问入口私有属性Python 约定以__双下划线开头的属性视为私有外部无法直接访问class Person: def __init__(self, age): self.__age age # 私有属性property 装饰器属性伪装把方法伪装成属性用.直接调用不用加括号常用于私有属性的读取、修改、删除。class Person: def __init__(self, age): self.__age age # 读 property def age(self): return self.__age # 修改 age.setter def age(self, val): if 0 val 150: # 增加数据校验 self.__age val else: print(年龄不合法) p Person(18) print(p.age) # 像访问属性一样取值 p.age 20 # 赋值修改4. 类方法 和 静态方法类中一共 3 种方法区别由第一个参数区分① 实例方法最常用第一个参数self只能由实例对象调用操作实例属性② 类方法 classmethod装饰器classmethod第一个参数cls代表当前类本身可以用类名。方法 ()/ 对象。方法 () 调用只能操作类属性不能直接使用实例属性class Tool: count 0 classmethod def show_count(cls): print(cls.count)③ 静态方法 staticmethod装饰器staticmethod无默认必须参数就是普通函数放在类里类、对象都可以调用和类 / 实例本身几乎无绑定适合写和类弱相关的工具工具函数class MathUtil: staticmethod def add(a,b): return ab三者选用总结要操作实例变量 → 实例方法只操作类变量 → 类方法和类、实例都无关单纯工具函数 → 静态方法

相关新闻

最新新闻

SerenityOS 命令行选项解析指南:getopt 与 getopt_long 用法、返回值与底层实现

SerenityOS 命令行选项解析指南:getopt 与 getopt_long 用法、返回值与底层实现

SerenityOS 命令行选项解析指南:getopt 与 getopt_long 用法、返回值与底层实现 【免费下载链接】serenity The Serenity Operating System 🐞 项目地址: https://gitcode.com/GitHub_Trending/se/serenity 导读 本文以 getopt(3) 手册 为核心&a…

2026/9/23 4:54:42
轻量服务器还是ECS?大促云服务器选购与避坑实战指南

轻量服务器还是ECS?大促云服务器选购与避坑实战指南

每年大促节点,群里永远有人在问同一个问题:“38元的轻量服务器到底怎么抢?为什么我每次点进去都是已售罄?68元直购和99元的ECS我到底选哪个?”作为一个常年帮团队和自己采购云服务器的老用户,我太清楚这种纠…

2026/9/23 8:01:55
为 AI 代理的 Review 动作编写 Cedar 审批门控策略:review-agent-governance 策略编写实战指南

为 AI 代理的 Review 动作编写 Cedar 审批门控策略:review-agent-governance 策略编写实战指南

为 AI 代理的 Review 动作编写 Cedar 审批门控策略:review-agent-governance 策略编写实战指南 【免费下载链接】agents Multi-harness agentic plugin marketplace for Claude Code, Codex, Cursor, OpenCode, GitHub Copilot, and Google Antigravity 项目地址:…

2026/9/23 8:02:11
PaddleOCR 手写数学公式识别算法 CAN 实战指南:Counting-Aware Network 训练、评估与推理部署

PaddleOCR 手写数学公式识别算法 CAN 实战指南:Counting-Aware Network 训练、评估与推理部署

PaddleOCR 手写数学公式识别算法 CAN 实战指南:Counting-Aware Network 训练、评估与推理部署 【免费下载链接】PaddleOCR Turn any PDF or image document into structured data for your AI. A powerful, lightweight OCR toolkit that bridges the gap between i…

2026/9/23 8:01:38
Spring源码解析:构造器注入的类型转换与候选匹配机制

Spring源码解析:构造器注入的类型转换与候选匹配机制

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/23 8:01:21
openai-agents-python 多模型接入指南:深入解析 AnyLLMModel 适配层与 any-llm 路由

openai-agents-python 多模型接入指南:深入解析 AnyLLMModel 适配层与 any-llm 路由

openai-agents-python 多模型接入指南:深入解析 AnyLLMModel 适配层与 any-llm 路由 【免费下载链接】openai-agents-python A lightweight, powerful framework for multi-agent workflows 项目地址: https://gitcode.com/GitHub_Trending/op/openai-agents-pyth…

2026/9/24 11:09:24

日新闻

周新闻