Python闭包与装饰器总结1|Python基础|Python-闭包装饰器基础装饰器是可调用的对象,其参数是另一个函数(被装饰的函数)。
装饰器的一个关键特性是,它们在被装饰的函数定义之后立即运行。这通常是在导入时 (即 Python 加载模块时)
变量作用域规则对比代码
b = 3def func(a): print(a) print(b)func ...
阅读更多
Kruskal算法与力扣1135|数据结构与算法图|Kruskal 算法-力扣1135-图本文介绍图的最小生成树算法Kruskal 算法。
阅读之前需要先了解
图和树数据结构
加权图、生成树、最小生成树
Kruskal 算法基本思想
在Kruskal 算法中,需要保证每次新加入的边不会让树变成图,即不能让树包含环。那么 Union-Find 算法就是帮你干这个事儿的。
像下面这样添加 ...
阅读更多
Union-Find并查集算法(Python实现)|数据结构与算法并查集算法|Python-算法-并查集-UnionFind这是并查集算法的Python实现:
class UF: ''' 并查集算法 ''' def __init__(self, n) -> None: ''' ...
阅读更多
subprocess执行java命令残留进程解决|Python|Python问题简述
需求是通过Python执行命令java -java springboot-demo.jar
于是,我使用subprocess.Popen()来启停。但是我发现在关闭子进程后,java进程并没有正确关闭。
这是由于上面的方法实际原理是另外开启一个cmd命令来运行java -jar命令,后面用 ...
阅读更多
CC+Open3d解决大型点云数据加载和计算问题|点云数据处理|CloudCompare-Point Cloud前言雷达扫描的点云数据量往往很大,而其中存在大量不需要的点。
例如我只需要某个小模型的点云,但雷达将周围的环境也一并扫描进来了,这些环境点云我并不需要。
现在我需要测量这个小模型的某些属性。(比如长宽)
此时如果直接在全部点云数据下进行测量,将这些点云加载出来都是一个很大的问题。在我的机器上,使用C ...
阅读更多
CloudCompare常用操作及Python插件|点云数据处理|CloudCompare-Point Cloud前言
最近在做点云处理相关的工作,这里找到了一个非常好用的开源软件CloudCompare(下称CC)。这里对我的常用操作进行总结,并介绍CC的Python插件,该插件可以实现自定义的点云操作实现,极大地扩展了CC的功能。
常用操作点云按高程赋色打开的点云没有颜色,很难看且很难操作,为了让点云更有 ...
阅读更多
CPU密集型任务的后端实现方法比较总结|Python|Python-asyncio-websocket介绍先介绍下整体系统框架,系统分为前端和后端,二者通过websocket协议进行通信。通过请求数据中的code字段来响应不同的操作。
以上介绍整体的软件逻辑。此外,后端使用Python的asyncio来实现异步编程。
例如,实现将数据插入到数据库并将数据发送到前端:
insert_data2d ...
阅读更多
Python 面试题|Python基础|Python-面试
记一次Python面试被问到的题
1a={1:2,2:3}b=ab.pop(1)print(a)
问:a的输出是什么?
答:{2:3}
2b=[[]]*2; b[0].append(1); print(b)a=[]; b=[a]*2; b[0].appe ...
阅读更多
Python open3d点云相关操作(持续更新)Prerequisite!pip install open3d!pip install scipyimport open3d as o3dfrom scipy.spatial.transform import Rotation as Rimport numpy as np
读和写点云文件point_ ...
阅读更多
Python numpy对三维点的操作汇总(持续更新)|Python|Python-numpyPrerequisiteimport numpy as np
将一个列表中的点或者其他对象转换成一个numpy.ndarray对象points = np.asarray([[1,2,3],[3,4,5],[6,7,8]])
查看numpy.ndarray的形状## n : numpy.ndarra ...
阅读更多