- 博客(51)
- 收藏
- 关注
原创 合同网协议实现无人机分布式任务分配的原理介绍和代码逻辑框架
CNP算法是一种分布式协调协议,用于在多智能体系统中进行任务分配。在无人机系统中,每个无人机可以视为一个智能体,通过CNP算法进行任务协商和分配。
2024-07-02 16:14:22
2097
1
原创 python中的__hash__魔法函数详解
一个对象是可哈希的,如果它在其生命周期内具有不变的哈希值。所有不可变类型(如整数、浮点数、字符串、元组等)都是可哈希的,而可变类型(如列表、字典、集合等)则不是。但是,如果你定义了一个可变对象,并且想要它成为可哈希的,你需要确保在对象的生命周期内,只要对象的“相等性”没有改变(即。是一个特殊方法(也称为魔法方法或双下划线方法),它用于定义对象的哈希值。当你试图将一个对象作为键添加到字典中,或者将一个对象添加到集合中时,Python会调用该对象的。:根据Python的文档,如果一个对象是可哈希的,并且其。
2024-06-27 13:25:24
577
原创 Python中对小整数的优化机制详解
在Python中,对小整数的优化主要体现在对小范围整数(通常是-5到256,这个范围可能会根据Python的实现和平台有所不同)的缓存机制上。这种机制称为“小整数对象池”(small integer object pool)或“小整数缓存”(small integer cache)。
2024-06-27 13:08:23
399
原创 C++中的map容器详解
C++中的map容器是一种关联式容器,提供了键-值对(key-value pair)的存储和快速查找功能。map容器由标准模板库(STL)提供,包含在<map>头文件中。map使用平衡二叉树(通常是红黑树)实现,因此能够在对数时间复杂度内完成插入、删除和查找操作。
2024-06-10 19:58:41
610
原创 python中的进度条工具tqdm详解
tqdm是 Python 中一个非常流行的进度条工具,常用于长时间运行的任务,如数据处理、训练机器学习模型等。tqdm的主要优点是易用性和功能丰富,可以在多种场景下使用。下面是tqdm。
2024-06-10 19:12:59
475
原创 python中使用 Matplotlib 的 GridSpec 来实现更复杂的布局控制
提供了灵活的布局方式,允许用户创建复杂的子图排列。通过使用GridSpec,你可以方便地调整子图的大小、位置以及跨越行和列的方式,从而实现更为复杂和美观的图表布局。
2024-06-09 17:06:19
1379
原创 C++中的字符串详解
C风格字符串适用于简单的字符数组操作,主要使用C语言的字符串处理函数。类提供了更高层次的字符串操作功能,更安全、更便捷,适合现代C++编程。根据具体需求选择适当的字符串处理方式,可以更有效地编写和维护C++程序。
2024-06-07 20:38:31
720
原创 C++中的sizeof和strlen详解
在C++中,sizeof和strlen都是用于获取长度或大小的运算符/函数,但它们的用途和工作方式有所不同。sizeof。
2024-06-07 20:33:34
458
原创 C++中的lambda表达式详解
Lambda表达式在C++中是一种强大的工具,可以让代码更加简洁和灵活。它们尤其适用于需要定义短小的匿名函数的场景,比如在标准库算法中传递自定义操作。在学习和使用lambda表达式时,理解捕获列表和参数列表的使用是关键。
2024-06-06 20:31:53
543
原创 C++中的静态变量与普通变量
局部变量:在函数内部定义,生命周期仅限于函数执行期间。全局变量:在函数外部定义,生命周期是整个程序的运行时间,在所有函数内部都可见。静态局部变量:在函数内部使用static关键字定义,生命周期是整个程序的运行时间,只在定义它们的函数内部可见,并且只初始化一次。静态全局变量:在函数外部使用static关键字定义,生命周期是整个程序的运行时间,但只在定义它们的文件内部可见。
2024-06-04 20:36:26
508
原创 C++中的左值和右值
左值通常与变量和持久数据关联。右值通常与临时数据和表达式的结果关联。右值引用提供了一种操作右值并优化资源管理和性能的方式。
2024-06-04 20:21:06
307
1
原创 python中的抽象基类详解
可以通过继承ABC来定义一个抽象基类,并使用装饰器来标记一个方法为抽象方法。passpass在这个例子中,area和perimeter。这两个方法都没有具体的实现(只有pass语句)。
2024-06-02 12:32:18
412
原创 C++中的异常处理机制
C++的异常处理机制提供了一种灵活且强大的方式来处理运行时错误。通过合理地使用异常,可以提高代码的健壮性和可维护性。然而,也需要注意异常处理的一些陷阱和限制,如异常规格的使用、构造函数和析构函数中的异常处理等。
2024-05-30 20:38:07
326
原创 C++中的智能指针详解
C++中的智能指针是一种用于管理动态分配内存的工具,它们可以自动释放内存,防止内存泄漏和悬挂指针问题。C++11标准引入了智能指针,包括和。每种智能指针都有不同的用途和特性。下面对它们进行详细介绍。
2024-05-30 19:49:47
695
原创 python中的 Matplotlib 绘制多子图时的重叠问题
使用函数来调整子图之间的间距和边距。其中wspace是子图之间的宽度间距,hspace是子图之间的高度间距。
2024-05-27 19:00:36
1100
原创 python中的Matplotlib 中文和正负号乱码问题
在 Matplotlib 中遇到中文和正负号符号显示有问题,这通常是由于Matplotlib 默认字体可能不支持中文,可以通过修改。参数来指定一个支持中文的字体。
2024-05-27 18:38:22
584
原创 C++中的内存布局与数据存储详解
理解C++中的内存布局和数据存储对编写高效、健壮的代码非常重要。正确地管理内存,避免悬挂指针和内存泄漏,是每个C++程序员必须掌握的基本技能。通过理解内存布局,可以更好地进行性能优化和故障排查。
2024-05-25 20:54:13
378
原创 C++中的悬挂指针和野指针
悬挂指针(dangling pointer)和野指针(wild pointer)是两种常见的指针错误,虽然它们都可能导致未定义行为,但它们产生的原因和表现有所不同。
2024-05-25 20:34:36
306
原创 python中使用(.)来进行相对路径访问文件
在Python中,使用相对路径访问文件是一种常见的做法,尤其是在处理与脚本位于同一目录或附近目录的文件时。相对路径是基于当前工作目录(CWD, Current Working Directory)的,即执行Python脚本时所在的目录。
2024-05-25 19:36:16
829
原创 python中的下划线用法总结
下划线在 Python 中有丰富的语义,通过上下文和使用位置的不同,可以表示各种不同的含义。了解这些用法对于编写符合 Python 风格指南(PEP 8)的代码和理解他人代码非常重要。
2024-05-23 19:23:51
537
原创 python中的类型提示语法详解
Python 的类型提示(type hints)是一种在代码中添加类型信息的语法,目的是提高代码的可读性和可维护性,并且可以通过静态类型检查工具(如mypy)在不运行代码的情况下检测类型错误。下面是 Python 类型提示语法的详细解释。
2024-05-22 12:40:46
1083
原创 python中的三引号 “““详解
在Python中,三引号(三个连续的单引号'''或三个连续的双引号""")通常用于定义多行字符串或文档字符串(docstring)。这两种形式在Python中是完全等效的,只是根据个人或团队的编码风格选择使用哪一种。
2024-05-21 19:57:21
2831
原创 C++中的inline内联函数详解
在C++中,inline是一个建议给编译器的关键字,用于指示编译器在可能的情况下将函数的调用替换为函数体本身的代码,即直接在调用点“内联”函数的代码。这样做的目的是消除函数调用的开销,从而提高程序的执行效率。然而,需要注意的是,inline仅仅是一个建议,编译器可以选择忽略它,尤其是在函数体较大或复杂时。
2024-05-17 21:03:31
422
原创 python中的参数解包和重打包详解
在Python中,参数的解包与重打包是指将一个可迭代对象(如列表、元组、字典)的元素或键值对展开或收集到函数的参数列表中的过程。具体来说,这包括通过使用和**操作符将参数展开为位置参数和关键字参数,以及将多个位置参数或关键字参数收集到单个参数中。
2024-05-17 13:34:14
462
原创 python中的函数装饰器详解
装饰器被应用于函数时,会首先执行装饰器函数,并将目标函数作为参数传递给装饰器函数。装饰器函数返回一个新的函数(通常是一个内部定义的。
2024-05-17 13:15:54
498
原创 C++中的数组详解
在C++中,数组是一种用于存储相同类型的元素序列的数据结构。数组提供了一种有效的方式来存储和访问多个相同类型的元素,这些元素按照顺序存储在。
2024-05-16 21:08:22
320
原创 python中生成器的创建和使用
在Python中,生成器是一种特殊类型的迭代器,允许你定义一种能在遍历过程中生成值的函数。生成器的创建和使用涉及yield关键字。生成器提供了一种延迟计算的方式,即按需生成值,而不是一次性生成所有值。下面是生成器的创建和使用,以及一些注意事项。
2024-05-15 20:39:36
719
原创 python中如何强制使用位置传参和强制使用关键字传参
可以强制使用位置传参和关键字传参,让函数调用更加清晰和规范。在 Python 中,通过使用。
2024-05-12 14:36:56
465
原创 【路径规划】跳点搜索算法(Jump Point Search, JPS)python实现
【代码】【路径规划】跳点搜索算法(Jump Point Search, JPS)python实现。
2024-05-11 15:03:14
977
2
原创 python中类成员的访问权限命名约定
这些访问约定有助于团队开发和代码维护,因为它们定义了哪些属性和方法是公开的、哪些是受保护的,以及哪些是私有的。虽然这些访问控制约定不是强制性的(除了私有属性的名称改编),但遵守这些约定可以帮助维护代码的可读性和组织性。
2024-05-09 13:06:09
396
1
原创 C++中程序执行的阶段划分
C++ 程序的执行可以分解为几个关键阶段,每个阶段都有其特定的任务和目的。从编写代码到生成可执行程序,整个过程涉及多个步骤,主要包括:预处理、编译、汇编和链接。
2024-05-07 20:34:17
482
原创 C++中的容器分类
以下是一些常见的 C++ 容器: 序列容器(Sequence Containers):关联容器(Associative Containers):无序容器(Unordered Containers):关联适配器(Associative Adapters):
2024-03-27 20:51:17
305
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人