QZQ的小世界!

  • 首页
Python
未分类

最少知识原则

定义 最少知识原则(Least Knowledge Principle),或者称迪米特法则(Law of Demeter),是一种面向对象程序设计的指导原则,它描述了一种保持代码松耦合的策略。其可简单的归纳为: Each unit should have only limited knowledge about other units: only units "closely" related to the current unit. 每个单元对其他单元只拥有有限的知识,只了解与当前单元紧密联系的单元; 应用到面向…

2025年4月4日 0条评论 45点热度 0人点赞 QZQ 阅读全文
未分类

单一职责原则

定义 这个原则还是挺简单易懂的,就是一个类应该只负责具体的一项工作。那完成计时也是工作,完成AI模型训练也是工作,工作大小如何界定? 单一职责原则的原话是: 一个类应该有且只有一个变化的原因。 There should never be more than one reason for a class to change. 为什么将不同的职责分离到单独的类中是如此的重要呢? 因为每一个职责都是一个变化的中心。当需求变化时,这个变化将通过更改职责相关的类来体现。 如果一个类拥有多于一个的职责,则这些职责就耦合到在了一…

2025年4月4日 0条评论 44点热度 0人点赞 QZQ 阅读全文
未分类

接口分离原则

定义 接口分离原则(Interface Segregation Principle)用于处理胖接口(fat interface)所带来的问题。如果类的接口定义暴露了过多的行为,则说明这个类的接口定义内聚程度不够好。换句话说,类的接口可以被分解为多组功能函数的组合,每一组都服务于不同的客户类,而不同的客户类可以选择使用不同的功能分组。 简单来说,就是“客户端程序不应该依赖于它不需要的接口”。如果一个子类为了继承了父类,实现或者空载了父类很多方法,也就是父类一堆方法对它来说完全没用,那么这种情况就不符合接口分离原则。 …

2025年4月4日 0条评论 44点热度 0人点赞 QZQ 阅读全文
未分类

Python 实现二维图的高斯核密度估计,从点到热力图

前言 之前去深圳慢病院搞研究,搞了一年多还欠着一篇论文…估计是很难还上了,因为寒假过后我也就半年的时间了,即将毕业成为社畜… 但是师兄还是给了一个 idea ,简单来说是将 vr 眼动的轨迹转化成热力图的形式,这样数据就从序列成为了图数据,提取特征理论上也确实更好提取一点,大概效果是这样的: 然后改成这样的形式: 这样确实可以清晰地描绘出眼动数据的注意区域~ 分析这个研究不是本文要讨论的内容,本文主主要介绍如何实现出上两幅图片的转变。 核密度估计 理论 本人不太钻研理论,因此自己讲容易误人子弟,这里就引用的多一点:…

2025年4月4日 0条评论 42点热度 0人点赞 QZQ 阅读全文
未分类

Tenacity 优雅地重试

7.3 少有人知的 Python “重试机制” — Python黑魔法手册 1.0.0 documentation (iswbm.com) 为了避免由于一些网络或其他不可控因素,而引起的功能性问题。比如在发送请求时,会因为网络不稳定,往往会有请求超时的问题。 这种情况下,我们通常会在代码中加入重试的代码。重试的代码本身不难实现,但如何写得优雅、易用,是我们要考虑的问题。 这里要给大家介绍的是一个第三方库 - Tenacity ,它实现了几乎我们可以使用到的所有重试场景,比如: 在什么情况下才进行重试? 重试几次呢?…

2025年4月4日 0条评论 47点热度 0人点赞 QZQ 阅读全文
未分类

python定期任务之schedule

import schedule import time def job(): print("I'm working...") # 每十分钟执行任务 schedule.every(10).minutes.do(job) # 每个小时执行任务 schedule.every().hour.do(job) # 每天的10:30执行任务 schedule.every().day.at("10:30").do(job) # 每个月执行任务 schedule.every().monday.…

2025年4月4日 0条评论 45点热度 0人点赞 QZQ 阅读全文
未分类

使用 python-opencv 抽取视频的一帧

利用python-opencv抽取视频的一帧然后储存起来 video_path = your_path videoCapture = cv2.VideoCapture(video_path) # 从文件读取视频 video_height = int(my_capture.get(cv2.CAP_PROP_FRAME_HEIGHT)) # 视频的高 单位:像素点 video_width = int(my_capture.get(cv2.CAP_PROP_FRAME_WIDTH)) # 视频的宽 单位:像素点 tota…

2025年4月4日 0条评论 46点热度 0人点赞 QZQ 阅读全文
未分类

依赖倒置原则

前言 自己在写一些工程的时候,发现各种模块要重写很多次,感觉自己“思路不清晰”…毕竟自己不是科班出身,实际干起活就感觉差点东西。 后来在网上学习的时候,发现了一些有关“面向对象编程的设计原则”的文章。小看一眼,感觉灵光一现,好东西! 然而网上大多数教程都是用Java来写的,这里就使用python来重写一下,顺便理理自己的思路。 定义 这里就照搬了: 1、上层模块不应该依赖底层模块,它们都应该依赖于抽象。 2、抽象不应该依赖于细节,细节应该依赖于抽象。 High level modules should not de…

2025年4月4日 0条评论 42点热度 0人点赞 QZQ 阅读全文
未分类

里氏替换原则

定义 里氏代换原则(Liskov Substitution Principle LSP)面向对象设计的基本原则之一。 里氏代换原则中说,任何基类可以出现的地方,子类一定可以出现。 LSP是继承复用的基石,只有当衍生类可以替换掉基类,软件单位的功能不受到影响时,基类才能真正被复用,而衍生类也能够在基类的基础上增加新的行为。 里氏代换原则是对“开-闭”原则的补充。实现“开-闭”原则的关键步骤就是抽象化。而基类与子类的继承关系就是抽象化的具体实现,所以里氏代换原则是对实现抽象化的具体步骤的规范。 简单来说 一个软件实体如…

2025年4月4日 0条评论 45点热度 0人点赞 QZQ 阅读全文
未分类

使用filetype判断文件类型

python如何检测文件或图片类型_python 获取是否是图片-CSDN博客 filetype · PyPI # 可以查看支持的文件类型 安装 pip install filetype 基本使用 import os import filetype def main(): d = r'D:\Game\.cache' video = 'test.mp4' p = os.path.join(d, video) kind = filetype.guess(p) if kind is None: print('Cannot…

2025年4月4日 0条评论 55点热度 0人点赞 QZQ 阅读全文
1234

QZQ

一只涉猎广泛的技术爱好者,绝赞养猫中~

docker IT技术 Python Python实战 Python库介绍 Python标准库 Python理论精进 Python第三方库 Pytorch和它学不完的AI =.= wordpress 云服务器 小红书 思考 技术随笔 探店 旅行游记 武大人今天的饭 生活 随笔 零碎 python 小知识

COPYRIGHT © 2024 QZQ的小世界!. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang