python
文章平均质量分 51
万物琴弦光锥之外
复杂的世界需要简单的东西,专业不一定复杂,简单才是终极
展开
-
2024-简单点-如何给类对象排序
了解相关机制的细节)。为避免意外,PEP8建议实现所有的六个比较方法。total_ordering()不过,请注意原创 2024-06-04 10:07:39 · 131 阅读 · 1 评论 -
2024-简单点-MediaCrawler解构
【代码】2024-简单点-MediaCrawler解构。原创 2024-05-15 10:25:24 · 294 阅读 · 0 评论 -
2024-简单点-ultralytics库解析-data模块
在这个特定的例子中,__init__.py 文件是 ultralytics 库(假设是 ultralytics 包)的一部分,它导出了 base.py、build.py 和 dataset.py 中的一些关键类和函数。这种组织方式提高了代码的可读性和可维护性,因为用户只需要记住在包级别上可用的接口,而不是每个单独模块的细节。这个文件的目的是告诉 Python 解释器,目录内的内容是一个可导入的模块集合,也就是一个包。文件在 Python 中扮演着重要的角色,它是 Python 包结构的一部分。原创 2024-05-11 17:34:49 · 815 阅读 · 0 评论 -
2024-简单点-优雅地用pathlib处理路径
在这个例子中,如果 base_path 是当前的工作目录,而 other_path 是一个要转换为相对路径的文件,relative_to() 将计算出从 base_path 到 other_path 的相对路径。请注意,如果 other_path 不是 base_path 的子路径,relative_to() 会抛出一个 ValueError。在 pathlib 中,你可以通过 relative_to() 方法来获取一个路径相对于另一个路径的相对路径。原创 2024-05-11 10:31:47 · 181 阅读 · 0 评论 -
2024-简单点-gpio控制灯开关+PWM调整亮暗程度
输入pinout可以看到引脚说明。原创 2024-05-09 10:46:43 · 306 阅读 · 0 评论 -
2024-简单点-torch积累
是 PyTorch 中的一个重要类,它提供了一个可迭代的数据加载器,可以方便地批量加载数据,并自动进行多进程数据加载、批处理、打乱数据(shuffling)等操作。在训练循环中,你需要进行前向传播以计算预测值和损失,然后执行反向传播以计算梯度,并使用优化器的。是 PyTorch 中的一个功能模块,它包含了一系列用于定义神经网络操作的函数。是 PyTorch 中的一个功能模块,它包含了一系列用于定义神经网络操作的函数。是 PyTorch 中用于构建神经网络模型的两个重要组件,它们各自具有不同的特点和用途。原创 2024-04-30 14:56:18 · 688 阅读 · 0 评论 -
2024-简单点-假设我要让一个py功能文件变成服务,在网络启动后进行,并且开机自动启动。
这个服务单元文件定义了一个服务,该服务将启动一个 Python 脚本(app.py),该脚本可能是一个 Web 服务器或其他长时间运行的服务。它依赖于网络,并且在系统进入多用户模式时自动启动。如果服务意外退出,它将自动重启。这里假设你的服务单元文件名为,并且它位于或其他systemd搜索的路径中。原创 2024-04-17 16:12:10 · 509 阅读 · 1 评论 -
2024-简单点-观察者模式
【代码】2023-简单点-观察者模式。原创 2024-04-12 13:50:55 · 365 阅读 · 0 评论 -
2024-简单点-python单例模式-__call__和__new__-线程安全版本
先看一个版本,这版本虽然能控制成一个单实例,但是实例的值却可以变。。原创 2024-04-07 13:46:11 · 374 阅读 · 0 评论 -
2024-简单点-python中的多重继承mro和super的联系
在Python的多重继承中,super()函数的作用主要是确保父类的方法被正确地调用,同时避免了直接调用父类可能带来的问题,如方法覆盖或名称冲突。super()的使用是Python实现合作式多重继承的关键。具体来说,当一个类从多个父类继承时,使用super()可以在子类中调用任何父类的方法,而不仅仅是直接父类的方法。这样做的好处是,它遵循了MRO(Method Resolution Order)顺序来调用方法,从而确保了所有的父类都有机会执行它们的方法。在多重继承的情况下,如果不使用super()原创 2024-04-07 11:18:15 · 367 阅读 · 0 评论 -
2024-简单点-python中的type和object
在Python中,和之间的关系确实非常独特和深刻,它们相互依赖,共同构建了Python的类型系统。让我们来详细展开这种关系。首先,我们要明确一点:在Python中,一切都是对象。这包括整数、字符串、列表等内置类型,也包括你自定义的类和类的实例。每个对象都有一个与之关联的类型,这个类型决定了对象的行为和特性。函数就是用来获取对象类型的。当你调用时,Python会返回与关联的类型对象。这个类型对象本身也是一个对象,它也有自己的类型。对于大多数对象来说,它们的类型对象的类型是。接下来,我们来看。是Python中所原创 2024-04-07 10:57:06 · 1010 阅读 · 0 评论 -
2024-简单点-python中的__call__和__new__和__init__
当你尝试调用一个对象(即,在对象后面加上括号并传入参数)时,Python 会自动查找该对象的。方法是在对象实例已经被创建并初始化之后,用于使对象实例能够像函数一样被调用的。当你尝试调用一个对象实例(即,在实例后面加上括号并传入参数)时,Python 会自动查找该实例的。它的主要作用是控制对象的创建过程,例如,当你需要自定义对象的创建逻辑时,你可以重写。在 Python 中,当你使用类名加上括号和参数来创建一个新的对象实例时,Python 首先调用类的。方法被调用,负责初始化这个新创建的对象的状态。原创 2024-04-07 10:42:04 · 916 阅读 · 0 评论 -
2024-简单点-pandas
自定义describe。原创 2024-03-25 16:09:33 · 127 阅读 · 0 评论 -
2024-简单点-numpy中的view和copy的区别
兄弟们自己看吧,两个角度。原创 2024-03-25 11:18:17 · 133 阅读 · 0 评论 -
2024-简单点-numpy的广播broadcasting
numpy 广播原创 2024-03-25 11:10:28 · 223 阅读 · 0 评论 -
2024-简单点-numpy中的如何增加维度的小技巧box[None,:]
numpy原创 2024-03-14 10:54:17 · 344 阅读 · 0 评论 -
2024-简单点-深度学习下的边缘检测资料
OpenCV4 调用HED边缘检测算法CVPR 2022,边缘检测 EDTER: Edge Detection with TransformerDexiNed原创 2024-03-07 10:41:24 · 246 阅读 · 0 评论 -
2024-简单点-Picamera2的preview能预览全分辨率么?
picamera2 preview full resolution原创 2024-03-05 09:56:24 · 138 阅读 · 0 评论 -
2024-简单点-picamera2除了文档还有哪里可以学习实例?
去github的picamera2库,找app和examples目录,然后学习。原创 2024-03-04 14:12:31 · 185 阅读 · 0 评论 -
2024-简单点-picamera2如何选取某些区域对焦
picamera2选取区域进行对焦原创 2024-02-29 10:55:54 · 366 阅读 · 0 评论 -
cls._defaults 和 self.__dict__
`cls._defaults` 和 `self.__dict__`原创 2024-02-21 10:38:27 · 329 阅读 · 0 评论 -
2023-简单点-python的多路复用小例子
内核可以优化事件处理机制,例如减少事件处理的开销,使用更高效的事件处理方式,从而加快文件描述符的状态变化和处理速度。1.就绪状态(ready):文件描述符已经准备好进行读或写操作,应用程序可以直接对其进行读或写操作。内核可以使用并发处理技术,例如多线程或多进程,同时处理多个文件描述符的状态变化,提高处理效率。使用更高效的数据结构:内核可以使用更高效的数据结构来管理文件描述符的状态,例如使用哈希表或。这些状态可以用于描述文件描述符在不同时刻的状态,以便应用程序能够根据状态进行相应的处理。原创 2023-12-07 17:05:26 · 2817 阅读 · 0 评论 -
2023-简单点-同步异步和阻塞非阻塞
阻塞和非阻塞关注的是程序在等待调用结果时的状态。阻塞操作是指调用结果返回之前,当前线程会被挂起,只有得到结果之后才会返回。非阻塞操作则是指在该调用不能立刻得到结果之前,不会阻塞当前线程,可以继续处理后续的操作。同步操作是在发出一个调用时,如果没有得到结果之前,该调用就不返回。一旦调用返回,就得到返回值。因此,同步操作是由调用者主动等待这个调用的结果。异步操作在发出之后会直接返回,没有返回结果。异步操作可以避免拥塞,提高程序的效率和性能。同步是实时处理,比如打电话,通信双方需要不断交互,才能传递信息。原创 2023-12-07 17:00:22 · 2623 阅读 · 0 评论 -
2023-简单点-proxyPool源码(四)-dbClient.py
【代码】2023-简单点-proxyPool源码(四)-dbClient.py。原创 2023-12-06 13:45:38 · 9848 阅读 · 0 评论 -
2023-简单点-proxyPool源码(三)-proxyApi.py
【代码】2023-简单点-proxyPool源码(三)-proxyApi.py。原创 2023-12-06 13:31:34 · 9788 阅读 · 0 评论 -
2023-简单点-Python中的attr那些事-hasattr,getattr,setattr
在上面的示例中,我们首先创建了一个Person对象,然后使用setattr()函数来设置对象的属性值。通过调用setattr(person, “name”, “Bob”),将person对象的name属性设置为"Bob",类似地,通过调用setattr(person, “age”, 35),将age属性设置为35。需要注意的是,setattr()函数可以直接设置对象的属性,包括已有的属性和不存在的属性。setattr()函数的工作原理是通过将属性值赋给对象的属性来实现对属性的设置。的特殊方法来实现的。原创 2023-12-05 14:39:06 · 11525 阅读 · 0 评论 -
2023-简单点-yolox-pytorch代码解析(二)-nets/yolo.py
【代码】2023-简单点-yolox-pytorch代码解析(二)-nets/yolo.py。原创 2023-11-30 15:31:30 · 14053 阅读 · 0 评论 -
2023-简单点-机器学习中的数值计算问题
当网络层数较深时,梯度可能在传播过程中逐渐消失(变得非常小)或爆炸(变得非常大),导致模型参数更新困难或不稳定。病态条件通常出现在需要求解逆矩阵或进行特征值分解的场合。当矩阵的条件数很大时(即矩阵的最大特征值和最小特征值之比很大),矩阵求逆或特征值分解会变得不稳定,导致数值计算问题。例如,在softmax函数中,当输入的数值很大时,指数运算的结果可能非常大,导致上溢。下溢:相反,当输入值过小,计算结果可能趋近于零,导致下溢。例如,在对数似然损失函数中,当预测概率接近零时,对数运算可能导致下溢。原创 2023-11-28 11:24:59 · 17152 阅读 · 0 评论 -
2023-简单点-树莓派picamera2介绍和要点
树莓派picamera2库介绍原创 2023-11-20 13:14:26 · 22030 阅读 · 0 评论 -
转载scrapy框架解析
框架架构转载 2023-02-06 23:02:10 · 9127 阅读 · 0 评论 -
关于xgboost的零碎记录
xgboost记录原创 2022-11-02 10:27:56 · 9095 阅读 · 0 评论 -
工作中可以用到的pandas小窍门,积累积累
pandas小窍门,一起来mark原创 2022-10-18 17:45:23 · 9360 阅读 · 0 评论 -
机器学习流程与方法
机器学习流程方法原创 2022-06-15 22:21:53 · 9171 阅读 · 0 评论 -
每天进步一点之灵魂拷问12之你不知道的py
•什么是Python生成器?•什么是Python迭代器?•list和tuple有什么区别?•Python中的list和dict是怎么实现的?•Python中使用多线程可以达到多核CPU一起使用吗?•什么是装饰器?•Python如何进行内存管理?•Python中的垃圾回收机制?•什么是lambda表达式?•什么是深拷贝和浅拷贝?•双等于和is有什么区别?•其它Python知识点...原创 2022-02-21 22:25:55 · 9437 阅读 · 0 评论 -
剑指 Offer II 003. 前 n 个数字二进制中 1 的个数
前 n 个数字二进制中 1 的个数题目解法i&i-1: 去掉低位的一个12 bin(int)方法题目输入: n = 2输出: [0,1,1]解释:0 --> 01 --> 12 --> 10解法i&i-1: 去掉低位的一个1比特位计数:(k&=(k-1)实现去掉右边的1)class Solution: def countBits(self, n: int) -> List[int]: res = [0]*(n+1)原创 2021-09-16 14:32:30 · 9100 阅读 · 0 评论 -
剑指 Offer II 001. 整数除法
除法题目解法12题目解法1快速乘法模板把乘数 分解成二进制数,然后 通过移位确定 某二进制位是否为1。然后累计2^n次方用绝对值判断,同或确定flag二分搜索模板l = mid的话,mid = l+r+1 >>1。同理r = mid的话,就mid = l+r>>1class Solution: def divide(self, a: int, b: int) -> int: def fastMul(x, y): # x原创 2021-09-16 14:11:25 · 9258 阅读 · 0 评论 -
剑指 Offer II 016. 不含重复字符的最长子字符串
不重复最长子字符串题目解答题目输入: s = “abcabcbb”输出: 3解释: 因为无重复字符的最长子字符串是 “abc”,所以其长度为 3。解答r表示的即将加入window的右边界class Solution: def lengthOfLongestSubstring(self, s: str) -> int: n = len(s) if n <= 1: return n length = 1原创 2021-09-15 11:15:50 · 9028 阅读 · 0 评论 -
剑指 Offer II 015. 字符串中的所有变位词
所有变位词题目解答123无脑Counter,复杂度较高题目输入: s = “cbaebabacd”, p = “abc”输出: [0,6]解释:起始索引等于 0 的子串是 “cba”, 它是 “abc” 的变位词。起始索引等于 6 的子串是 “bac”, 它是 “abc” 的变位词。解答1单独枚举第一个window + 判断用数组来标记代替字典class Solution: def findAnagrams(self, s: str, p: str) -> List[原创 2021-09-15 11:13:23 · 9228 阅读 · 0 评论 -
剑指 Offer II 014. 字符串中的变位词
题目输入: s1 = “ab” s2 = “eidbaooo”输出: True解释: s2 包含 s1 的排列之一 (“ba”).题解1 sort字符串对比class Solution: def checkInclusion(self, s1: str, s2: str) -> bool: # 窗口为len(s1),然后对窗口内的以及s1都sort后对比 len1 = len(s1) pattern = "".join(sorted原创 2021-09-14 16:27:34 · 9190 阅读 · 0 评论 -
NC17 最长回文子串
1 中心奇偶扩展法1.奇数长度中心扩展设置左右指针,不能超出字符串的边界1.偶数长度中心扩展i,i+1为中心注意length提前定义2.遍历,res = max(odd, even res)得到最终答案# -*- coding:utf-8 -*-class Solution: def getLongestPalindrome(self, A, n): # write code here def expandOdd(i, A):原创 2021-09-10 16:11:00 · 9216 阅读 · 0 评论