- 博客(323)
- 资源 (24)
- 收藏
- 关注
原创 python中的语法高级用法总结,看看你用过多少种?
Python高级语法速查表: 数据结构:推导式(列表/集合/字典)、生成器表达式、解包操作(*rest取中间值)。 函数:可变参数(*args, **kwargs)、lambda、装饰器、偏函数(functools.partial)。 迭代器&生成器:yield惰性生成、yield from委托迭代。 面向对象:@property、类/静态方法、魔术方法(__add__)、dataclass自动生成方法。 上下文管理:with语句、自定义__enter__/__exit__、contextlib简化
2025-09-15 13:04:46
679
原创 Pascal VOC标签文件字段解释
本文详细解析了Pascal VOC格式的XML标注文件结构,包括根节点、图片信息、目标对象等关键字段说明。重点解释了边界框坐标(bndbox)的计算方法,并演示了如何将VOC格式转换为YOLO格式的具体步骤。包含三个示例目标的转换过程:计算边界框宽高、中心点坐标,并进行归一化处理。特别指出坐标基准(0-based或1-based)的重要性,提醒转换时需保持一致性。该格式广泛支持目标检测任务,但需注意处理truncated和difficult标记的特殊情况。
2025-09-15 12:47:07
1093
原创 Python中的多线程锁机制
本文介绍了Python中的多线程锁机制及其应用。主要内容包括:1)6种主要锁类型(Lock、RLock、Semaphore、Condition、Event、Barrier)的特点和使用场景;2)每种锁的代码示例演示;3)两个实际应用案例(线程安全计数器和生产者-消费者模式);4)多线程编程的最佳实践建议。文章强调,虽然Python有GIL限制,但在I/O密集型任务和资源共享场景中,合理使用锁机制对保证线程安全至关重要。
2025-09-14 18:08:53
981
原创 Python中全局Import和局部Import的区别及应用场景对比
Python中import语句的位置会影响模块加载时机和性能。全局import(文件顶部)使模块在程序启动时加载,整个模块可见,适合频繁使用的小型模块,提高代码可读性。局部import(函数内部)延迟到函数首次调用时加载,仅在该函数作用域内可见,适合处理重量级模块、可选依赖或平台特定代码。性能测试表明全局import运行更快但启动稍慢,局部import减少初始内存占用。最佳实践建议:常用模块使用全局import保证可读性,重量级/可选模块使用局部import优化性能,并保持项目风格统一。
2025-09-14 13:07:32
555
原创 python标准库有哪些模块,简单总结下。
Python标准库功能强大,涵盖系统交互(os, sys)、数据结构(collections)、日期时间(datetime)、数学计算(math, random)、数据持久化(json, pickle)、并发编程(threading)、网络通信(socket)等核心功能,还提供logging、unittest等开发工具。这些"自带电池"的模块无需安装即可使用,是Python编程的重要基础。完整列表可参考官方文档。
2025-09-13 17:31:19
992
原创 使用Python创建本地Http服务实现与外部系统数据对接
在Python 3.10中创建一个能够处理GET和POST请求的本地HTTP服务器,并提供一个默认的index.html页面是完全可行的。Python的标准库中的模块虽然简单,但通过一些自定义扩展可以满足这个需求。下面我将提供一个实现方案,它包含一个自定义的请求处理器,并会说明如何创建index.html文件。
2025-09-13 17:05:12
1222
原创 认识一下Python中的:包,模块,类 各是什么?起什么作用。
Python中的包、模块和类是三个层级分明的核心概念。包是包含模块的目录(带__init__.py文件),用于高层次代码组织;模块是.py文件,包含相关代码(如类、函数);类则是模块中面向对象编程的蓝图,用于创建对象。三者构成"包→模块→类→函数/变量"的层级关系,共同实现代码的模块化、复用和封装。典型使用流程是:导入包→访问模块→使用类创建对象→调用对象方法完成功能。
2025-09-13 16:57:04
1048
原创 Python 三大神器:迭代器、生成器与装饰器详解
本文深入解析Python三大核心概念:迭代器、生成器和装饰器。迭代器通过实现__iter__和__next__方法实现惰性计算,处理大数据集时节省内存。生成器是更简洁的迭代器实现,使用yield关键字实现状态暂停,特别适合处理大型文件。装饰器作为高阶函数,在不修改原代码的情况下为函数添加新功能,支持参数传递和元信息保留。三者各具特色:迭代器提供通用遍历协议,生成器简化迭代器创建并优化内存,装饰器实现功能动态增强。掌握这些特性可显著提升代码效率、可读性和可维护性,是Python进阶的关键技能。
2025-09-11 10:24:09
706
原创 认识跨平台UI框架Flutter和MAUI区别,如何选。
.NET 跨平台开发框架对比:MAUI 与 Flutter 摘要: .NET MAUI 是微软官方推出的跨平台 UI 框架,基于 C#/XAML,继承了 Xamarin 的优势,提供原生控件渲染和 .NET 生态集成。Flutter 则是 Google 的跨平台解决方案,采用 Dart 语言和自绘引擎,实现高度一致的 UI 和卓越性能。两者关键区别在于:MAUI 适合 .NET 开发者,强调原生体验和企业集成;Flutter 则长于 UI 定制和跨平台一致性,支持更多目标平台。技术选型应基于团队技能、项目需
2025-09-11 09:56:41
1591
原创 Python 作用域:LEGB 规则详解与实战案例
本文详细讲解Python变量作用域的LEGB规则:Local(局部)-Enclosing(闭包)-Global(全局)-Built-in(内置)。通过多个代码示例演示了变量查找顺序、各层作用域特点及global/nonlocal关键字的使用方法,强调赋值即定义的原则和避免命名冲突的重要性。掌握LEGB规则有助于理解闭包、装饰器,并解决变量作用域引发的错误。
2025-09-11 09:43:06
1163
原创 Visual Studio 2026下载地址及新特性介绍
Visual Studio 2026 Insiders 抢先体验版发布,带来多项创新功能:1. 深度AI集成,GitHub Copilot直接内嵌IDE,支持智能代码优化、性能分析和第三方AI模型扩展;2. 性能显著提升,启动更快,大型工程加载更流畅;3. 全新Fluent UI界面设计,新增11种个性化主题;4. 增强生产力工具,包括改进的编辑器状态栏、文件编码显示和PR评论功能;5. 全面支持.NET 10与C#14等最新开发技术。该版本可与VS2022并存安装,每月更新新特性,适合开发者抢先体验。下载
2025-09-11 09:21:04
17684
5
原创 python中的魔法方法 (Magic Methods)有哪些?总结。
Python魔法方法(双下方法)是特殊方法,以双下划线开头和结尾,用于自定义类行为。主要类别包括:1)对象生命周期(new、init、del);2)对象表示(str、repr);3)比较操作(eq、__lt__等);4)算术运算(add、__sub__等);5)容器类型(len、__getitem__等);6)可调用对象(call)。其他重要方法还包括属性访问、描述符协议和上下文管理。这些方法让自定义类能像内置类型一样工作,遵循Python惯例,写出更Pythonic的代码。
2025-09-09 11:55:15
730
原创 python中闭包 (Closure)的理解与应用案例
Python闭包详解:闭包是由函数及其相关引用环境组成的实体,能够记住外部变量。创建闭包需要嵌套函数、引用外部变量和返回内部函数。经典案例是计数器实现,闭包可替代全局变量实现状态保持。主要应用包括装饰器、函数工厂和回调函数。通过__closure__属性可查看闭包捕获的变量值。注意循环中创建闭包时的延迟绑定问题,闭包会保持外部变量引用可能增加内存消耗。闭包是Python函数式编程的重要特性,为装饰器等功能提供基础。
2025-09-09 11:51:10
1382
原创 python中List集合,set集合,frozenset集合它们的区别
本文全面解析Python中List、Set和Frozenset三种集合类型的区别与应用。List是有序可变序列,允许重复元素,适合需要索引访问和保持顺序的场景;Set是无序可变集合,元素唯一且支持高效查找和集合运算;Frozenset是不可变集合,可哈希,适合作为字典键或需要不可变集合的场合。文章详细对比了三者的核心特性、操作方法和性能差异,并通过实际示例说明如何根据具体需求选择合适的数据结构,以提高代码效率和可读性。
2025-09-08 09:57:44
1033
原创 Python列表推导式与字典推导式对比
本文对比分析了Python中列表推导式和字典推导式的语法与应用。列表推导式使用[表达式 for 项 in 可迭代对象]语法生成列表,适合数据过滤转换;字典推导式通过{键:值 for 项 in 可迭代对象}创建字典,常用于键值映射。两者核心区别在于输出数据结构(列表/字典)、元素形式(单值/键值对)和键的唯一性要求。最佳实践建议保持代码简洁,避免过度嵌套,复杂逻辑应使用传统循环。性能测试显示推导式高效,但需在简洁性和可读性间取得平衡。
2025-09-08 09:48:38
517
原创 .net平台的ReactiveUI介绍
ReactiveUI是一个基于.NET的响应式MVVM框架,核心功能包括: 响应式基础:使用Rx.NET处理异步操作和事件流 跨平台支持:兼容WPF/Xamarin/Avalonia等平台 反应式命令:支持异步操作和条件执行 属性绑定:提供WhenAnyValue和OAPH等工具 视图激活管理:通过WhenActivated优化资源使用 示例演示了计数器应用和搜索框实现,展示了响应式绑定、命令管理和异步处理能力。建议先学习Rx.NET基础,善用ReactiveUI.Fody简化代码,并遵循生命周期管理最佳实
2025-09-08 09:38:23
1332
原创 Python语言的重点知识总结。看看你还有哪些不会。
Python重点知识点摘要:本文系统梳理了Python从基础到进阶的核心知识点。基础部分包括变量与数据类型、运算符、流程控制及输入输出;核心数据结构涵盖列表、元组、字典和集合;函数是重点内容,涉及参数传递、作用域和装饰器等高级特性;面向对象编程包括类与对象、三大特性及魔法方法;文件操作和异常处理保证程序健壮性;模块与包用于代码组织;高级特性包括迭代器、生成器、并发编程和元类。建议学习者循序渐进,注重实践,结合优秀代码和官方文档进行系统学习。
2025-09-07 18:35:50
1332
原创 Python多线程编程全面指南
本文深入探讨Python多线程编程,从基础概念到实际应用。首先解析线程与进程的区别,介绍Python的GIL机制及其对多线程的影响。重点讲解threading模块的两种线程创建方式、多种同步机制(Lock、RLock、Semaphore等)以及线程池使用。通过三个实战案例展示多线程在网络请求、文件处理和生产者-消费者模式中的应用。最后提供避免死锁、性能优化和调试多线程程序的最佳实践,帮助开发者高效利用多线程技术,同时规避常见陷阱。
2025-09-06 11:19:46
938
原创 修改Labelimg的默认类型列表的方法
本文介绍了在LabelImg中添加标注类别的两种方法:1)推荐使用预定义类别文件(predefined_classes.txt),通过创建文本文件并按行写入类别名称,可批量管理固定类别;2)通过图形界面临时添加新类别。文章还提供了文件存放路径建议、命令行启动方式以及使用默认标签提升效率的提示,强调应优先使用预定义文件避免手动修改classes.txt造成的索引混乱。
2025-09-05 13:09:50
505
原创 python中的import和from两种导入方式有什么区别
Python导入模块时,import和from...import的主要区别在于命名空间的使用方式。import导入整个模块,使用时需加模块前缀,保持命名清晰但代码较长;from...import直接导入特定对象,代码简洁但可能引发命名冲突。最佳实践推荐优先使用import加别名的方式,谨慎使用from...import,绝对避免通配符导入(from...import *)。大型项目中建议使用完整模块名保持可维护性,简单脚本可适当使用from...import简化代码。两种方式本质上内存占用差异不大,选择应基
2025-09-04 11:33:03
840
原创 python中的zip() 函数介绍及使用说明
Python的zip()函数是一个实用的内置函数,用于将多个可迭代对象的对应元素打包成元组,返回这些元组组成的迭代器。它支持并行迭代多个列表、创建字典、矩阵转置等常见场景。当处理不同长度的可迭代对象时,默认以最短的为准,也可用itertools.zip_longest()以最长为准。zip()返回的是迭代器,具有内存高效的特点但只能遍历一次,必要时可转换为列表。该函数常与列表推导式、enumerate()等结合使用,在数据处理、文件操作等场景能显著简化代码。
2025-09-02 18:05:41
758
原创 Python 可变位置参数和可变关键字参数详解
Python中的*args和kwargs用于处理可变数量参数。args接收任意数量位置参数并打包为元组,常用于求和、日志记录等场景;**kwargs接收关键字参数并打包为字典,适用于配置处理、HTML标签生成等。两者可结合使用,但需注意参数顺序:位置参数→args→关键字参数→kwargs。在函数调用时,*用于解包可迭代对象,**用于解包字典。高级应用包括装饰器计时和类方法处理数据。最佳实践包括正确参数顺序、有意义命名、空参数处理和类型提示。掌握这些技巧能编写更灵活的Python函数。
2025-09-02 17:45:06
1019
原创 Python 中将 JSON 字符串转为对象的几种方法对比
本文介绍了Python中将JSON字符串转换为对象的5种方法:1.使用json.loads()转换为字典;2.通过手动创建或object_hook参数转换为自定义对象;3.使用Python3.7+的dataclasses;4.利用marshmallow库处理复杂转换;5.处理JSON数组数据。每种方法各有优缺点,建议根据需求选择:简单数据用字典,面向对象场景用object_hook或dataclasses,复杂需求可考虑marshmallow库。
2025-09-02 17:38:10
946
原创 Python 类的方法类型详解
Python类中的方法主要分为六种类型:1)实例方法(操作实例属性);2)类方法(@classmethod,操作类属性);3)静态方法(@staticmethod,工具函数);4)抽象方法(@abstractmethod,定义接口);5)属性方法(@property,属性访问);6)特殊方法(__xx__形式,运算符重载)。每种方法类型在参数、访问权限和使用场景上各有特点,共同构成了Python面向对象编程的灵活体系。
2025-09-02 17:27:04
855
原创 Python 类属性与方法的装饰器详解
本文介绍了Python中常用的类装饰器及其应用场景:1. 类方法装饰器@classmethod和@staticmethod,分别用于定义类方法和静态方法;2. 属性装饰器@property及其配套的setter/deleter,用于管理属性访问;3. 特殊用途装饰器如@abstractmethod和@dataclass,用于实现抽象类和自动生成类方法;4. 自定义装饰器和类装饰器的使用示例。这些装饰器能有效增强Python类的功能性和灵活性,是面向对象编程的重要工具。
2025-09-02 11:21:59
1143
原创 yolo在做目标测试时,得到的result对象的各属性的详细说明
本文介绍了YOLOv8目标检测后返回的result对象核心属性及其使用方法。result对象包含边界框坐标、置信度、类别索引等检测信息,提供了多种数据格式(绝对/归一化坐标)。文章详细说明了如何提取和处理这些属性,包括可视化、保存结果等操作,并提示了GPU/CPU数据转移、模型类型差异等注意事项。通过代码示例展示了如何获取检测框信息、类别名称和可视化结果,为使用YOLOv8进行目标检测提供了实用参考。
2025-08-29 12:49:45
1185
原创 OpenCV打开视频函数VideoCapture使用详解
摘要:OpenCV的VideoCapture类用于从视频文件、图像序列或摄像头捕获视频。支持多种视频源和参数配置,包括摄像头索引、文件路径和API后端选项。核心方法包括open()、read()和release(),需遵循初始化-检查-读取-处理-释放的标准流程。常见问题涉及视频源连接、帧读取失败和播放控制等。通过合理设置参数和正确释放资源,可实现稳定的视频捕获功能。
2025-08-26 14:04:29
2060
原创 在本地搭建YOLOV8的训练环境
本文介绍了在Windows11系统下搭建YOLOv8训练环境的完整步骤。主要内容包括:1)创建Python3.10的Conda环境;2)安装兼容CUDA12.8的PyTorch(向下兼容12.1);3)安装Ultralytics库;4)配置数据集路径(训练集和验证集路径需转换为"/"格式);5)启动训练命令(示例使用yolov8n模型,100轮次,640像素)。最后还提供了验证模型的命令,并建议可编写一键批处理脚本简化流程。
2025-08-25 16:53:41
348
原创 ubuntu系统上的conda虚拟环境导出方便下次安装
本文介绍了在Ubuntu系统上使用Conda管理虚拟环境的三种导出方法:1)通过YAML文件导出完整环境配置(推荐);2)单独导出pip安装的依赖包;3)本地克隆环境。文章特别强调了跨平台迁移时需添加--no-builds参数,以及清理缓存和离线迁移的注意事项,并提供了从导出到恢复环境的完整操作示例,帮助用户实现虚拟环境的便捷备份和迁移。
2025-08-20 18:02:24
569
原创 PyInstaller打包Python应用操作备忘
本文详细介绍了使用PyInstaller打包Python程序的全过程。PyInstaller可将Python脚本转换为独立的可执行文件,支持多平台运行。文章从安装方法开始,逐步讲解基本打包命令、GUI应用打包、资源文件处理等核心内容。重点介绍了高级配置选项(如.spec文件)、常见问题解决方案(如资源路径处理、文件体积优化)以及Windows平台特有的版本信息添加方法。通过一个PyQt5文本编辑器实例,演示了完整打包流程,包括控制台隐藏、图标设置等实用技巧。最后总结了打包优化建议,为开发者提供了一套完整的P
2025-08-15 18:52:39
1075
原创 VirtualBox安装Ubuntu 22.04后终端无法打开的解决方案
摘要:VirtualBox快速安装Ubuntu 22.04后gnome-terminal无法启动,主要因Locale配置缺失。推荐解决方案:1)通过TTY终端修改/etc/default/locale文件为LANG=en_US.UTF-8,执行locale-gen和reboot;2)备用方案重装gnome-terminal。预防措施包括选择标准安装模式、安装后检查locale设置并确保en_US.UTF-8存在。该问题源于快速安装跳过了Locale生成步骤,导致依赖本地化资源的终端无法初始化。(149字)
2025-07-24 15:43:29
686
原创 工业软件中的运动控制原理技术与应用
运动控制是工业自动化的核心技术,广泛应用于数控机床、工业机器人、半导体设备等领域。摘要介绍了运动控制的基本原理和系统组成,包括控制器、驱动器、执行机构和反馈装置。重点解析了PID控制、前馈控制等核心算法,以及多轴协调的插补和同步技术。文章还探讨了工业制造、机器人操作等典型应用场景,并分析了机械谐振、实时性能等实施挑战。最后展望了网络化、智能化的发展趋势,如基于工业以太网的分布式控制、人工智能优化算法等。运动控制技术正朝着更高精度、更强适应性的方向发展,推动现代制造业持续进步。
2025-07-24 13:04:08
812
原创 在Windows11上安装Linux操作系统的几种技术方案
在Windows 11上运行Linux主要有五种方案:1)WSL适合命令行开发,轻量且集成度高;2)虚拟机(如Hyper-V)可运行完整Linux桌面,但资源占用较大;3)双系统性能最佳但安装复杂;4)WSLg支持Linux GUI应用,介于WSL和虚拟机之间;5)云虚拟机适合远程开发。根据需求选择:轻量命令行选WSL,完整桌面用虚拟机,高性能需求装双系统,远程开发考虑云方案。
2025-07-23 11:33:26
1866
原创 .net平台的跨平台桌面应用开发的技术方案总结对比
本文对比了.NET平台四大跨桌面开发框架:1)微软官方的.NET MAUI,优势是移动+桌面统一开发,但性能较弱;2)开源的AvaloniaUI,支持全平台且性能优异,但社区资源较少;3)基于WinUI的UnoPlatform,适合现有项目迁移,但学习门槛高;4)轻量级的Eto.Forms,提供原生UI体验但功能有限。根据需求推荐:企业应用选MAUI,Linux/Web选Avalonia,WinUI迁移选Uno,小型工具选Eto。各框架在平台支持、性能表现和适用场景上各有侧重。
2025-07-23 11:06:05
1528
原创 目前主流的AI深度学习框架对Windows和Linux的支持哪个更好
主流开源AI框架对Linux和Windows支持对比显示,Linux在深度学习领域优势明显:TensorFlow/PyTorch等框架功能更完整,CUDA兼容性更好,尤其适合生产环境和复杂模型训练。Windows虽支持PyTorch等框架的基础功能,但存在版本限制、性能损耗等问题,建议通过WSL2或Docker运行。关键结论:企业/研究推荐Linux服务器;个人开发者可用Windows+WSL2,但TPU/分布式训练等场景必须使用Linux。ONNX等推理框架跨平台表现最佳。
2025-07-22 11:43:18
1417
原创 MMPose姿态检测库完整安装指南与使用教程
本文详细介绍了在Windows系统上安装和使用OpenMMLab开源姿态估计工具箱MMPose的完整流程。从创建conda虚拟环境、安装PyTorch和CUDA等基础依赖,到通过OpenMIM安装MMEngine、MMCV、MMDetection等OpenMMLab相关库,最后克隆并安装MMPose源码。文章还提供了实时摄像头测试方法和多种预训练模型的使用示例,包括面部、手掌、全身关键点检测等不同场景,并对比了RTMO、ViTPose等模型的特点,为开发者和研究者提供了全面的姿态估计解决方案指南。
2025-07-21 11:15:37
1379
原创 为什么用Pytorch帮客户训练好了模型还要提供模型结构?
如果我在训练模型后生成好了一个模型文件:mnist_model.pth 我想把这个模型文件给第三方使用,而不告诉他模型定义的结构等信息,那么第三方是不是就用不起来这个模型?model.load_state_dict(torch.load('mnist_model.pth')) # 也会报错!torch.save(model, 'full_model.pth') # 保存整个模型(结构+参数)model = torch.load('mnist_model.pth') # 会报错!
2025-07-18 13:20:48
760
原创 Pytorch下载Mnist手写数据识别训练数据集的代码详解
摘要:该代码通过torchvision.datasets.MNIST加载MNIST测试集,设置参数包括:存储路径('./data')、加载测试集(train=False)、自动下载(download=True)和图像转换(转换为[0,1]范围的张量)。返回的数据集对象包含10,000个28×28的灰度手写数字图像,可直接用于模型测试。该方法是PyTorch中处理标准数据集的典型方式,为深度学习任务提供便捷的数据加载功能。
2025-07-18 11:51:43
560
原创 Python OS模块常用方法总结
Python的OS模块是Python中用于与操作系统交互的标准库模块,提供了许多有用的函数来操作文件和目录。以下是在Windows 11系统上使用Python 3.10的常用方法演示
2025-07-18 10:13:53
189
Autodesk 产品中用于管理软件许可的安装程序组件 这个是低版本的 如果安装后激活失败,基本就是这个组件被自动升级为高版本的了,所以这时就要人工将它降回到低版本 Autodesk的2020及以下版
2025-05-26
用Excel做数据库开发的小程序例子C#
2007-08-10
Flash防止注册失效的办法
2011-11-07
DHTML手册html标签查询
2008-09-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅