- 博客(101)
- 收藏
- 关注
原创 Linux系统下使用ncurses获取按键
通过上述步骤,你可以在Linux系统下使用ncurses库轻松捕获并处理上下左右方向键的输入。ncurses库提供了强大的功能,使得在终端中构建文本用户界面变得简单和直观。
2024-10-18 17:35:30
393
原创 Linux系统下Ncurses的安装与使用
Ncurses是一个用于构建文本用户界面(TUI)的库。它是Curses库的一个更现代、功能更丰富的实现,Curses库最初是为Unix系统设计的,用于在字符终端上提供基本的文本界面功能。使用Ncurses,我们可以创建多窗口的文本界面,控制文本的输出格式(如加粗、下划线、颜色等),。这使得Ncurses成为开发命令行界面应用程序的理想选择,尤其是在需要复杂交互或图形化元素的情况下。
2024-10-18 11:06:43
1912
原创 简述Linux和RTOS
在设计RTOS内核时,开发者需要仔细考虑系统的实时性要求,以及如何在资源受限的嵌入式设备上实现高效的任务调度和管理。实时操作系统(Real-Time Operating System,简称RTOS)内核是专为实时系统设计的操作系统核心,它能够确保在规定的时间内对事件做出响应。:Linux 是开源的,许多 RTOS 也是开源的,如 FreeRTOS,这使得开发者可以自由地查看、修改和分发源代码。:RTOS 内核必须能够在确定的时间内完成指定的任务,这意味着系统对任务的响应时间是可以预测的。
2024-10-17 19:54:44
1809
原创 C语言——头插法和尾插法动态创建链表
在C语言中,动态创建列表通常指的是使用链表(Linked List)这种数据结构。链表由一系列节点(Node)组成,每个节点包含数据部分和指向下一个节点的指针。根据插入节点的位置不同,链表的插入操作可以分为头插法和尾插法。下面将详细介绍这两种方法。
2024-10-17 19:09:32
1182
原创 linux——vim编辑器的常用操作指令以及快捷键
在Linux中,Vim是一款功能强大的文本编辑器,掌握其常用的操作指令和快捷键对于提高文本编辑效率至关重要。以下是对Vim编辑器常用的详细操作指令以及快捷键的归纳:Vim有多种模式,其中最常用的是正常模式(Normal Mode)、插入模式(Insert Mode)和可视模式(Visual Mode)。基本移动:h向左移动一个字符,j向下移动一行,k向上移动一行,l向右移动一个字符。快速移动:翻页:Ctrl+f向下翻页,Ctrl+b向上翻页,Ctrl+u向上滚动半页,Ctrl+d向下滚动半页。删除:复制:粘
2024-10-15 15:14:47
1236
原创 Linux——虚拟机网络配置
进行虚拟机网络配置是确保虚拟机能够正常访问网络、与宿主机及其他设备进行通信的关键步骤。虚拟机网络配置允许用户根据实际需求选择合适的网络模式,并调整网络参数以满足特定的网络环境要求。
2024-09-23 19:09:08
2873
1
原创 Linux——虚拟机和Windows间的文件传输方式
Linux虚拟机和Windows间的文件传输方式多种多样,每种方式都有其特定的适用场景和操作步骤。
2024-09-23 18:02:58
4841
原创 Linux——常用系统设置和快捷键操作指令
xandr命令会显示你所支持的所有分辨率。选择你要使用的分辨率,以1680x1050为例,使用命令。在Linux系统中,有许多快捷键和命令可以提高你的工作效率。2.终端打开快捷键:ctrl+alt+T。ctrl+alt++:字体变大。ctrl+ -:字体变小。命令框大小可直接拖拽。
2024-09-20 16:44:38
951
1
原创 Linux——创建编写并编译一个C程序
这就是在Linux系统下,使用vim编辑器创建、编写并编译一个C程序的全过程。vim是一个功能强大的文本编辑器,通过掌握它的基本命令和快捷键,你可以更加高效地编写和编辑代码。此外,GCC是C语言编程中常用的编译器之一,它能够将C源代码编译成可执行文件。二、使用nano编辑器在Linux系统下创建、编写并编译一个C程序是一个相对直接的过程。我们将创建一个简单的C程序,该程序的功能是输出“Hello, World!”到终端。以上就是在Linux系统下创建、编写并编译一个C程序的基本步骤。
2024-09-20 15:09:58
2449
原创 博弈论模型
博弈论,又被称为对策论或赛局理论,是现代数学的一个新分支,也是运筹学的一个重要学科。它主要研究公式化了的激励结构(即游戏或博弈)间的相互作用,是研究具有斗争或竞争性质现象的数学理论和方法。
2024-09-14 11:22:50
742
原创 Python——模块和包
除了Python标准库中的模块外,你还可以创建自己的模块。只需编写一个.py文件,并在其中定义所需的函数、类和变量即可。然后,你可以在其他Python程序中使用import语句来导入这个模块,并使用其中定义的内容。
2024-08-30 16:33:37
1382
原创 Python——造物者type( )、元类与抽象基类
定义type()函数是Python的一个内置函数,用于获取一个对象的类型信息。基本用途:主要用于确定变量或对象的数据类型,以便进行类型检查或转换等操作。type()函数在Python中扮演着举足轻重的角色,它不仅是获取对象类型信息的工具,还是实现动态编程和元编程的重要手段。通过深入理解type()函数的前因后果和内部机制,我们可以更加灵活和高效地利用Python的强大功能。元类本身也是类,但它们与普通类的区别在于它们被用来创建类。在Python中,所有的类默认都是由type这个元类创建的。
2024-08-30 15:20:11
1896
原创 Python——property函数、类方法和静态方法以及描述符
counter = 0 # 类变量cls.counter += 1 # 修改类变量# 调用类方法MyClass.increment() # 输出: Counter is now: 1MyClass.increment() # 输出: Counter is now: 2在这个例子中,increment是一个类方法,它通过装饰器来定义。这个方法简单地递增了类变量counter的值,并打印出当前的计数值。注意,由于这是一个类方法,它接收cls。
2024-08-30 10:18:31
1268
原创 Python——使用__iter__和__next__实现迭代器
方法是Python中的一个特殊方法(也称为魔法方法或双下划线方法),它允许对象使用类似字典键(对于映射类型)或索引(对于序列类型)的语法来访问其项。在大多数情况下,迭代器对象就是实现了迭代器协议的对象自身,这意味着同一个对象既是可迭代的(实现了。这两个方法一起工作,使得Python的迭代器能够以统一的、可预测的方式遍历集合中的元素。迭代器是Python中一种强大的工具,它们提供了一种灵活的方式来遍历集合中的元素,同时支持延迟计算和节省内存。方法,可以创建自己的迭代器类,以支持对自定义数据结构的迭代操作。
2024-08-29 11:15:13
1269
原创 Python——魔法方法
实际上,Python提供了许多其他的魔法方法,它们可以覆盖几乎所有的Python内置操作。Python的魔法方法(也称为特殊方法或双下划线方法)是Python的内置方法,它们在类定义中用于执行特定的操作,如对象创建、属性访问、比较、序列化等。但是,需要注意的是,是两个特殊的魔法方法(也称为特殊方法或双下划线方法),它们在类的实例化过程中和对象销毁时分别扮演着重要的角色。装饰器,但它在行为上类似于静态方法),它在类的实例创建时首先被调用。方法的调用时机是不确定的,特别是在涉及循环引用和垃圾回收机制时。
2024-08-28 16:13:13
921
原创 Python——私有变量和slots类
时,这被视为一个约定,表明该属性是“受保护的”或“私有的”,旨在表明这个属性或方法主要是为了类的内部使用,而不是在类的外部直接访问的。)前缀的命名方式来创建“魔法”属性或方法,这些属性或方法会被Python的名称改写机制(name mangling)自动修改名称,使得它们几乎不可能从类的外部直接访问。事实上Python也正是通过修改变量的名称使其不能按照原本名称进行访问,从而达到私有变量的作用,而这种改名称也是有规律的,但是,Python提供了一种约定俗成的方式来模拟私有变量的行为,即使用单个下划线(
2024-08-28 11:11:37
615
原创 Python——Mixin设计模式
Mixin类通常命名时带有Mixin后缀,但这并不是强制的,只是为了在代码中清楚地表明其作为Mixin的用途。"""返回创建时间""""""返回更新时间""""""设置时间戳"""
2024-08-28 10:27:29
625
1
原创 Python——类和对象、继承和组合
在Python中,使用class关键字来定义一个类。类的定义包括类名和类的体(缩进块),其中类的体可以包含属性(变量)和方法(函数)。# 类属性(通常是静态属性,用于所有实例共享的数据)# 但通常我们定义在__init__中的是实例属性# 初始化方法,特殊方法__init__,用于创建对象时初始化对象的属性self.name = name # 实例属性self.age = age # 实例属性# 定义一个方法__init__方法是一个特殊方法,称为类的构造器或初始化方法。
2024-08-27 17:41:04
1080
原创 Python——异常
ython 中的异常是一种用于处理在程序执行期间可能发生的错误的机制。但是,通过使用 try...except 语句块,你可以捕获并处理这些异常,从而防止程序因为错误而完全停止。一个异常处理块可以引发另一个异常,同时保留原始异常的上下文。这样做的好处是,当新的异常被抛出时,调用者可以了解到新异常是由哪个原始异常触发的,这对于调试和日志记录特别有用。Python 提供了许多内置的异常类,用于处理不同类型的错误情况。是所有内建的非系统退出类异常的超类。模块来查看异常的完整调用栈。:与连接相关的异常的基类。
2024-08-27 15:33:14
1161
原创 Python——文件的基本操作、上下文管理器、pickle序列化和路径处理
模块是一个强大的序列化和反序列化工具,它允许你将几乎所有的Python对象结构转换为一个字节流,然后这个字节流可以被保存到文件中,或者通过网络传输到另一个Python程序中,之后再被反序列化回原来的Python对象结构。语句和上下文管理器(Context Managers)是Python中一个非常强大且常用的特性,它们提供了一种简便的方式来封装常用的try...finally模式,特别是在进行文件操作、数据库连接、网络通信等需要资源管理的场景时非常有用。模块的核心,它表示一个文件系统路径。
2024-08-27 11:42:38
764
原创 Python——生成器、递归、内省、高阶和偏函数
使用def语句定义一个函数,在函数中使用至少一个yield语句。每次yield调用都会暂停函数的执行,并返回紧随其后的值给调用者。下一次调用生成器的__next__()方法(或使用next()内置函数)时,函数将从上次离开的地方继续执行,直到遇到下一个yield或执行完毕。yield 1yield 2yield 3# 使用生成器print(next(gen)) # 输出 1print(next(gen)) # 输出 2print(next(gen)) # 输出 3。
2024-08-26 19:20:24
1040
原创 Python——嵌套函数、闭包、装饰器和lambda匿名函数
Python的装饰器是一个非常强大的工具,它提供了一种优雅的方式来增强或修改函数的功能,而无需修改函数本身的代码。ython的装饰器(Decorator)是一个非常强大且灵活的工具,它允许你在不修改原有函数或类定义的情况下,给函数或方法添加新的功能。装饰器本质上是一个函数,这个函数接收一个函数作为参数并返回一个新的函数。:嵌套函数提供了一种封装代码的方式,使得内部函数只能被外部函数访问(如果外部函数不返回内部函数的话)。函数经常与Python中的高阶函数(接受函数作为参数或返回函数的函数)一起使用,比如。
2024-08-26 17:00:38
1107
原创 Python——函数基础操作
在Python中,函数参数是传递给函数的值或变量名,它们在函数体内被使用以执行特定的任务。这个特性是在Python 3.8版本中引入的,旨在提高函数定义的清晰度,并允许开发者更好地控制参数的使用方式。关键字参数是在调用函数时,通过参数名(关键字)来指定参数值的参数。)都必须是关键字参数。这意味着,在调用函数时,你不能通过位置来传递这些参数,而必须使用它们的名字。时,它后面的所有参数都被视为位置参数,即使它们在调用时使用了关键字。位置参数是函数定义时声明的参数,这些参数在调用函数时必须按位置顺序提供值。
2024-08-26 15:41:08
782
原创 Python——集合基本操作以及哈希函数
Python 中的集合(Set)是一个无序的、不包含重复元素的数据结构。集合主要用于数学上的集合操作,如并集、交集、差集和对称差集等。集合使用大括号{}来表示,但注意空集合不能使用{}表示(这会创建一个空字典),而应该使用set()来创建。
2024-08-26 11:02:26
1264
原创 为什么{x: y for x in [1, 3, 5] for y in [2, 4, 6]}输出是:{1:6,3:6,5:6}
值都关联起来(但这在普通字典中是不可能的,因为键是唯一的),可能需要考虑使用其他数据结构,如列表的列表、字典的列表、或更复杂的嵌套字典等。Python 的字典推导式在处理嵌套循环时,并不是简单地将每个。值,并且因为字典的键是唯一的,所以最终每个。如上所见,虽然我们在推导过程中考虑了所有的。(1, 3, 5),字典推导式会遍历列表。配对成键值对,而是会遍历所有的。值,但由于字典键的唯一性,每个。中的最后一个元素(即 6)关联。对,但由于字典键的唯一性,每个。实际上,我们观察到的输出。在这个例子中,对于每个。
2024-08-23 17:51:01
200
原创 Python——字典
Python 中的字典(Dictionary)是一种非常灵活且强大的数据结构,它允许你存储任意类型对象,如整数、字符串、列表乃至其他字典等,作为键值对(key-value pairs)的集合。字典中的每个元素都是一个键值对,键(key)是唯一的,并且用于访问其对应的值(value)。
2024-08-23 17:45:00
997
原创 Python——序列及常见操作
函数返回的是一个整数,它表示了对象在Python解释器内存中的位置(尽管这种解释并不完全准确,因为Python解释器可能会移动对象以优化内存使用,但在这个移动过程中,对象的ID会保持不变,直到对象被销毁并重新分配)。因此,这两个变量会有相同的。是两个非常特殊的比较运算符,它们不是用来比较两个对象的值是否相等,而是用来比较两个对象是否是同一个对象(即,它们是否指向内存中的同一个位置)。时,Python会从内存中删除该对象的引用,如果这是对该对象的最后一个引用,那么该对象也会从内存中删除(即被垃圾回收)。
2024-08-22 17:33:50
1062
原创 Python——字符串及常见操作总结
操作符是Python中最古老的字符串格式化方法,但现在已较少使用。方法提供了一种灵活且强大的方式来格式化字符串。f-string(格式化字符串字面量)是Python 3.6及更高版本中推荐的字符串格式化方法,因为它既简洁又高效。在实际开发中,建议尽可能使用f-string来格式化字符串。如果你正在使用Python 3.6或更高版本,并且追求代码的简洁性和性能,那么f-strings是首选。如果你需要更复杂的格式化选项,或者你的代码需要兼容Python 2.x版本,那么.format()
2024-08-22 15:31:11
801
原创 Python——元组
Python中的元组(Tuple)是一种有序的数据集合,它允许你存储一系列的元素,这些元素可以是不同类型的数据。与列表(List)不同的是,元组是不可变的,这意味着一旦创建了一个元组,你就不能修改它的元素(即不能添加、删除或更改元组中的元素)。
2024-08-21 17:39:24
419
原创 Python——嵌套列表以及列表推导式
这是最直接的方法,你只需在方括号内用另一对方括号定义子列表。浅拷贝:只复制列表本身,不复制列表中的元素(如果它们是可变对象)。深拷贝:不仅复制列表本身,还递归地复制列表中的所有元素(包括嵌套的可变对象)。在处理包含可变对象的嵌套列表时,选择正确的拷贝方式非常重要,以避免意外的副作用。
2024-08-21 16:48:11
2775
原创 Python——列表的常见操作总结
Python 中的列表(List)是一种非常灵活的数据结构,用于存储序列化的数据集合。列表是可变的,意味着你可以在创建列表后添加、删除或修改其中的元素。列表中的元素可以是不同类型的数据,如整数、浮点数、字符串、甚至是另一个列表(即列表的嵌套)。
2024-08-21 13:52:39
924
原创 Python——分支和循环
在Python中,分支和循环是控制程序流程的基本结构,它们允许程序根据条件执行不同的代码块,或者重复执行某个代码块直到满足特定条件。下面将详细解释这两种结构。
2024-08-20 18:29:25
940
原创 Python——数字类型及常见问题总结
Python 提供了丰富的数字类型,包括整数、浮点数、复数和布尔型,每种类型都有其特定的用途和特性。这些类型使得 Python 成为进行各种数学和科学计算的强大工具。
2024-08-20 14:35:51
779
原创 Python——常用基本函数总结
Python 是一种广泛使用的高级编程语言,它提供了丰富的内置函数和库,用于执行各种任务。这里,我将总结并讲解一些 Python 中常用的基本函数,这些函数在编程中非常常见且基础。
2024-08-20 11:18:56
346
原创 Python——变量和字符串以及转义字符常见问题总结
变量和字符串是Python编程的基础。变量用于存储数据,而字符串是存储文本数据的数据类型。字符串支持多种操作,包括拼接、重复、索引和切片,但需要注意的是字符串是不可变的。
2024-08-20 11:04:38
910
原创 如何复现Github上的项目以及conda的常用操作指令
在GitHub上关于深度学习的项目代码通常包含多种类型的文件,每种文件都有其特定的作用。以下是一些常见的文件及其作用的概述:一个__init__.py:一个目录如果包含了__init__.py文件,那么它就变成了一个包。该文件可以为空,也可以定义包的属性和方法,但它必须存在。datasets:数据相关操作,比如用Dataset封装数据集,再用Dataloader实现数据并加载。
2024-08-19 16:24:46
2004
原创 C语言——枚举类型、typedef关键字
枚举通过关键字enum来定义,后面跟着枚举类型的名称和一对花括号{},花括号中列出所有可能的枚举成员(也称为枚举常量)。枚举成员的默认类型是int,但也可以显式地指定为char等其他整数类型。// 或者显式指定枚举的基础类型在上面的例子中,enum Day定义了一个枚举类型,它包含了从Sunday到Saturday的七个枚举成员。默认情况下,枚举成员的值为从0开始的连续整数,因此Sunday的值为0,Monday的值为1,依此类推。在enum Color的例子中,我们显式地将枚举的基础类型指定为。
2024-08-16 16:03:41
461
原创 C语言——联合体/共用体
联合体和结构体类似但又不同,C语言中的联合体(Union)是一种特殊的数据类型,它允许在存储不同的数据类型。联合体提供了一种方式,使得不同的数据类型可以共享同一段内存空间。但是,在任何给定的时刻,联合体只能存储它的成员之一的值;即联合体的所有成员从相同的内存地址开始。
2024-08-16 14:29:08
371
工程伦理分析PPT-大众汽车排放门事件
2024-07-12
机器视觉-传统相机标定法、线性求解P矩阵代码
2024-07-12
机器视觉-双目测量、极线表示、基本矩阵求解代码
2024-07-12
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人