发布时间:2026/7/19 3:21:25
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三者选用总结要操作实例变量 → 实例方法只操作类变量 → 类方法和类、实例都无关单纯工具函数 → 静态方法

相关新闻

2026/7/19 3:16:25

生产级机器学习:从Notebook到真实业务系统的系统性工程

1. 项目概述:当模型走出笔记本,真正开始“呼吸”现实世界你有没有经历过这样的场景?花了三个月时间打磨一个信用评分模型,在 Jupyter Notebook 里跑出 0.92 的 AUC,特征重要性图漂亮得能当屏保,业务方点头如…

2026/7/19 3:16:25

Android事件处理机制:从基础到实战

1. Android事件处理基础概念作为一名从2010年开始接触Android开发的老兵,我见证了Android事件处理机制的多次演进。事件处理是Android开发中最基础也最重要的知识点之一,掌握它对于构建流畅的交互体验至关重要。Android中的事件处理主要涉及三种类型的事…

2026/7/19 6:41:36

深入解析L4片上互连总线:寄存器配置、地址保护与嵌入式系统实战

1. 项目概述:从寄存器手册到实战经验如果你正在开发基于TI OMAP或类似复杂SoC的嵌入式系统,尤其是涉及多核通信、安全启动或高可靠性要求的场景,那么你迟早会跟L4这类片上互连总线打交道。我处理过不少因为总线访问冲突导致的系统“玄学”死机…

2026/7/19 6:41:36

.NET Core API统一错误处理中间件实现指南

1. 项目概述在.NET Core API开发中,错误处理是一个关键环节。统一的错误拦截机制能够帮助我们:标准化错误响应格式集中处理异常逻辑提供一致的客户端体验简化调试和问题排查2. 核心需求解析2.1 为什么需要统一错误处理当API接口出现异常时,我…

2026/7/19 6:41:36

ESP32-S3音频开发实战:WAV音乐播放器实现

1. ESP32-S3音乐播放器实验概述在嵌入式音频开发领域,ESP32-S3凭借其强大的处理能力和丰富的外设接口,成为实现高质量音频应用的理想选择。本实验基于正点原子DNESP32S3开发板,利用其板载的ES8388音频编解码器和I2S接口,构建了一个…

2026/7/19 6:36:35

Unity多武器系统设计:从数据驱动到模块化实现

1. 项目概述:为什么我们需要一个“多武器系统”?在Unity里做游戏,尤其是动作、射击或者RPG类,给角色配把武器是基础操作。但如果你想让玩家从一把小手枪,升级到霰弹枪、激光炮,或者在不同场景下切换近战刀剑…

2026/7/19 0:00:15

Unity与Python本地通信:基于Flask的跨语言数据交换实战

1. 项目概述:为什么我们需要一个本地通信服务器?在游戏开发、数字孪生、仿真训练等众多领域,Unity作为强大的实时3D内容创作平台,其核心逻辑通常由C#驱动。然而,当我们需要进行复杂的数据分析、机器学习推理、科学计算…

2026/7/19 0:00:15

Unity与Python本地通信:基于Flask的跨语言数据交换实战

1. 项目概述:为什么我们需要一个本地通信服务器?在游戏开发、数字孪生、仿真训练等众多领域,Unity作为强大的实时3D内容创作平台,其核心逻辑通常由C#驱动。然而,当我们需要进行复杂的数据分析、机器学习推理、科学计算…

2026/7/18 16:50:29

3个高效策略:快速掌握Axure中文界面配置

3个高效策略:快速掌握Axure中文界面配置 【免费下载链接】axure-cn Chinese language file for Axure RP. Axure RP 简体中文语言包。支持 Axure 11、10、9。不定期更新。 项目地址: https://gitcode.com/gh_mirrors/ax/axure-cn 还在为Axure RP的英文界面感…