自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(50)
  • 收藏
  • 关注

原创 22 Python常用内置函数——枚举

enumerate() 函数用来枚举可迭代对象中的元素,返回可迭代的 enumerate 对象,其中每个元素都是包含索引和值的元组。内置函数 enumerate() 还支持一个 start 参数,用来指定枚举时的索引起始值。

2024-07-26 23:31:38 40

原创 21 Python常用内置函数——zip()

可以这样理解这个函数,把多个序列或可迭代对象中的所有元素左对齐,然后像拉拉链一样往右拉,把所经过的每个序列中相同位置上的元素都放到一个元组中,只要有一个序列中的所有元素都处理完了就不再拉拉链了,返回包含若干元组的 zip 对象。,其中每个元素都是包含原来的多个可迭代对象对应位置上元素的元组,最终结果中包含的元素个数取决于所有参数序列或可迭代对象中最短的那个。

2024-07-26 23:16:57 55

原创 20 Python常用内置函数——eval()

内置函数 eval() 函数用来计算字符串的值,在有些场合也可以用来实现类型转换的功能。除此之外,eval() 也可以对字节串进行求值,还可以执行内置函数 compile() 编译生成的代码对象。eval() 并不对参数字符串进行安全性检查,如果精心构造一些语句可能会引发安全漏洞,应尽量使用标准库 ast 提供的安全求值函数 literal_eval()。

2024-07-26 22:54:45 141

原创 19 Python常用内置函数——range()

range() 是 Python 开发中非常常用的一个内置函数。在循环结构中经常使用 range() 函数来控制循环次数。参数 start 默认为 0,step 默认为 1。可以使用 range() 函数来控制数值范围。

2024-07-26 22:38:48 143

原创 18 Python常用内置函数——排序与逆序

sorted() 对列表、元组、字典、集合或其他可迭代对象进行排序并返回新列表,reversed() 对可迭代对象(生成器对象和具有惰性求值特性的 zip、map、filter、enumerate 等类似对象除外)进行翻转(首尾交换)并返回可迭代的 reversed 对象。

2024-07-26 21:39:32 41

原创 17 Python常用内置函数——基本输入输出

input() 和 print() 是 Python 的基本输入输出函数,前者用来接收用户的键盘输入,后者用来把数据以指定的格式输出到标准控制台或指定的文件对象。无论用户输入什么内容,input() 一律作为字符串对待,必要时可以使用内置函数 int()、float()或eval() 对用户输入到内容进行类型转换。内置函数 print() 用于输出信息到标准控制台或指定文件。sep 参数用于指定数据之间的分隔符,默认为空格;file 参数用于指定输出位置,默认为标准控制台,也可以重定向输出到文件。

2024-07-26 21:06:17 38

原创 16 Python常用内置函数——最值与求和

sum() 默认(可以通过 start 参数来改变)支持包含数值型元素的序列或可迭代对象,max() 和 min() 则要求序列或可迭代对象中的元素之间可比较大小。函数 max() 和 min() 还支持 default 参数和 key 参数,其中 default 参数用来指定可迭代对象为空时默认返回的最大值或最小值,而 key 参数用来指定比较大小的依据或规则,可以是函数或 lambda 表达式。函数 sum() 还支持 start 参数,用来控制求和的初始值。

2024-07-26 20:29:20 55

原创 15 Python常用内置函数——类型转换与类型判断

② ord() 和 chr() 是一对功能相反的函数,ord() 用来返回单个字符的 Unicode 码,而 chr() 则用来返回 Unicode 编码对应的字符,str() 则直接将其任意类型参数转换为字符串。③ list()、tuple()、dict()、set()、frozenset() 用来把其他类型的数据转换为列表、元组、字典、可变集合和不可变集合,或者创建空列表、空元组、空字典和空集合。内置函数 float() 用来将其他类型数据转换为实数,complex() 可以用来生成复数。

2024-07-26 19:36:56 165

原创 14 集合运算符和矩阵乘法运算符@

从 Python 3.5 开始增加了一个新的矩阵相乘运算符,不过由于 Python 没有内置的矩阵类型,所以该运算符常与扩展库 numpy 一起使用。另外,@符号还可以用来表示修饰器的用法。集合的交集、并集、对称差集等运算借助于位运算符来实现,而差集则使用减号运算符实现。

2024-07-26 17:06:26 232

原创 13 成员测试运算符 in 与同一性测试运算符 is

同一性测试运算符(identity comparison)is 用来测试两个对象是否是同一个,如果是则返回 True,否则返回 False。成员测试员算符 in 用于成员测试,即测试一个对象是否为另一个对象的元素。

2024-07-26 16:46:39 30

原创 12 位运算符

2024-07-26 00:06:16 122

原创 11 逻辑运算符

逻辑运算符 and、or、not 常用来连接条件表达式构成更加复杂的条件表达式,并且。,但是运算符 not 一定会返回 True 或 False。

2024-07-25 21:29:02 85

原创 10 关系运算符

Python 关系运算符可以连用。使用关系运算符的一个最重要的前提是,操作数之间必须可比较大小。例如,把一个字符串和一个数字进行大小比较是毫无意义的,所以 Python 也不支持这样的运算。

2024-07-25 21:09:35 88

原创 09 算术运算符

② * 运算符除了表示算术乘法,还可用于列表、元组、字符串这几个序列类型与整数的乘法,表示序列元素的重复,生成新的序列对象。字典和集合不支持与整数的相乘,因为其中的元素是不允许重复的。① + 运算符除了用于算数加法以外,还可以用于列表、元组、字符串的连接,但不支持不同类型的对象之间的相加或连接。③ 运算符 / 和 // 在 Python 中分别表示算术除法和算术求整商(floor division)。④ % 运算符可以用于整数或实数的求余运算,还可以用于字符串格式化。

2024-07-25 20:55:09 213

原创 08 字符串和字节串

使用单引号、双引号、三单引号、三双引号作为定界符(delimiter)来表示字符串,并且不同的定界符之间可以相互嵌套。Python 3.x 除了支持 Unicode 编码的 str 类型字符串之外,还支持字节串类型的 bytes。很多内置函数和标准库对象也都支持对字符串的操作。

2024-07-25 20:05:25 64

原创 07 分数和高精度实数

Python 标准库中的 Fraction 对象支持分数运算,还提供了用于计算最大公约数的 gcd() 函数和高精度实数类 Decimal。

2024-07-25 19:34:21 100

原创 06 内置的整数、实数与复数

2024-07-25 18:39:54 299

原创 05 变量、赋值语句和赋值表达式

赋值语句的执行过程是:首先把等号右侧表达式的值计算出来,然后在内存中寻找一个位置把值存储进去,最后创建变量并指向这个内存地址。在 Python 中,不需要事先声明变量名及其类型,直接赋值即可创建任意类型的对象变量。不仅变量的值是可以改变的,变量的类型也是随时可以发生变化的。常量,一般是指不需要改变也不能改变的字面值,如一个数字3,又如一个列表[1, 2, 3],都是常量。交换变量的值是程序中常见的操作,而同时赋值对完成这一操作十分有用。,这也是变量类型随时可以改变的原因。

2024-07-25 18:07:09 209

原创 04 标识符与关键字

关键字,又被称为保留字,它们在 Python 中有特殊意义。例如:import是一个关键字,它告诉 Python 解释器将一个模块导入到程序。number1、number2、number3、average、input 和 print 是出现在程序中的事物的名称。Python 关键字只允许来表达特定的语义,不允许通过任何方式改变它们的含义,也不能用来作为变量名、函数名或类名标识符。避免使用简写的标识符。① 标识符是由字母、数字和下划线(_)构成的字符序列。② 标识符必须以字母或下划线开头,不能以数字开头。

2024-07-25 17:13:47 485

原创 03 从控制台读取输入

从控制台读取输入可以让程序从用户处接受输入。

2024-07-25 16:45:58 71

原创 02 编写一个简单的程序

【代码】02 编写一个简单的程序。

2024-07-25 16:25:24 134

原创 01 Python 的概述

Python 中的数据都是由类所创建的对象。本质上讲类就是一种类型或某个种类,它能够定义同种类型的对象,这些对象都具有相同的属性以及相同的操作这些对象的方法。面向对象程序设计是开发可重用软件的强大工具。Python 现在被用在 Google 搜索引擎、NASA 的任务关键项目以及纽约股票交易所的交易处理中。Python 因其简单、简洁以及直观的语法和扩展库等优势称为工业界和学术界广泛使用的一个流行的程序设计语言。这表示 Python 代码是被解释器翻译和执行的,每次一句。

2024-07-25 16:05:17 119

原创 使用gdb进行调试

操作系统检测非法内存访问的能力,取决于它的硬件配置和它在内存管理实现方面的一些具体做法。在大多数系统中,操作系统分配给程序的内存一般都会比程序实际需要使用的大一些。如果非法内存访问出现在这部分内存区域内,硬件就可能检测不到,这就是并非所有版本的Linux和UNIX系统都会产生段错误的原因。运行产生段错误( segmentation fault)而被终止,就说明操作系统向程序发送了一个信号,告诉程序操作系统检测到了非法的内存访问,为防止内存空间被破坏,操作系统提前终止了该程序的运行。

2024-02-22 21:43:24 635

原创 gcc/g++ 编译器

所以,在调试的时候最好不要使用任何的优化选项,只有当程序在最终发行的时候才考虑对其进行优化,通常用的是 -O2。静态库的一个缺点是,当同时运行许多应用程序并且他们都使用来自同一个函数库的函数时,内存中就会有同一函数的多份副本,而且在程序文件自身中也有多份同样的副本。通常来说,在编写程序的时候,一些不规范的写法是不会违背C语言的语法规范的,但是却会很有可能在运行的时候带来意想不到的问题。② 编译函数以产生要包含在库文件中的目标文件。库是一组预先编译好的函数的集合,这些函数都是按照可重用的原则编写的。

2024-02-22 16:08:01 1214

原创 vim编辑器的使用

在Vi的基础上增加了很多新的特性,Vim最大的优势在于, 它最常用的命令都是简单的字符, 这比起使用复杂的控制组合键要快得多, 而且也解放了手指的大量工作。插入模式也叫做输入模式,在该模式下,从键盘上键入的所有字都被插入到正在编辑的缓冲区中,被当作该文件的正文在屏幕上显示出来。插入模式下如同Windows下的“记事本”,可以完成文本的输入、修改和光标的移动等功能。[str]表示要查找的字符串,回车后会加亮显示所有查找到的字符串,接着命令 n 移动到下一个找到的字符串,命令 N 移动到上一个找到的字符串。

2024-02-21 16:44:32 862

原创 Linux系统的文件及其类型

例如,我们说Linux的文件系统是ext3,MSDOS的文件系统是FAT16,而Windows XP的文件系统是NTFS或FAT32,就是指这个意思。/dev :dev是Device(设备)的缩写, 该目录下存放的是Linux的外部设备,在Linux中访问设备的方式和访问文件的方式是相同的。/home:用户的主目录,在Linux中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。/proc:这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。

2024-02-20 20:11:27 1065

原创 文件和目录操作命令

Tar是“tape archive”(磁带存档)的简称,tar命令是一个将很多文件进行存档的工具,现已成为Unix下标准的文件打包格式。find命令是根据指定路径和表达式查找所匹配的文件或目录的命令,find的参数很多,并且支持正则表达式,功能强大。查询的参数是“ztf”, 其中“z”同上,指查询压缩的TAR包,若无“z”则是普通的TAR包,“t”(Test)指查询TAR包,“f”指定 TAR包的文件名。② 打包并压缩,即建立压缩的tar包,它的参数是zcvf,其中,z代表使用gzip程序进行文档的压缩。

2024-02-20 19:32:31 1014

原创 用户相关管理命令

Linux 是多用户的分时操作系统,它允许多个用户同时登录到系统上,使用系统资源。所有要使用系统资源的用户需要先向系统管理员申请一个账号,之后以此账号进入系统;可以在系统上建立多个用户,而多个用户可以在同一时间内登录至同一系统执行不同的任务,并不会相互影响。普通用户在系统上的任务是进行普通工作,管理员在系统上的任务是对普通用户和整个系统进行管理。用户是能够获取系统资源的权限的集合,每个用户都会分配一个特有的id号。删除用户后,其家目录并不会被删除,如果要删除家目录,需要。passwd 用户名。

2024-02-17 21:48:41 356

原创 Linux操作系统概述

Linux是自由软件的代表,同时它也是一个操作系统,运行在该系统上的用用程序几乎都是自由软件。Linux是免费的、源代码开放的,编写它的目的是建立不受任何商业化软件版权制约的、全世界都能自由使用的UNIX兼容产品。UNIX操作系统最初是由贝尔实验室开发的。严格来说,UNIX是由 Open Group (开放组织)管理的一个商标,它指的是一种遵循特定规范计算机操作系统。

2024-02-17 15:48:51 910

原创 第一章 面向对象程序设计概论

凡是以类对象为基本构成单位的程序称为基于对象的程序。面向对象程序有4个主要特点:抽象、封装、继承和多态性。C++的类对象体现了抽象和封装的特性,在此基础上再利用继承和多态性,就成为真正的面向对象的程序设计。把基于对象程序设计和面向对象程序设计称为面向对象程序设计。在程序中,属性用数据表示,用来描述对象的静态特征;行为用程序代码实现,用来描述对象的动态特征。在面向对象的程序设计方法中,对象是数据结构和算法的封装体。对象是计算机内存中的一块区域。

2023-07-10 18:56:42 117

原创 2.3 4顺序表和链表的比较

顺序表可以顺序存取,也可以随机存取,链表只能从表头顺序存取元素。

2023-05-25 17:43:34 77

原创 2.3.3 循环链表

循环链表是另一种形式的链式存储结构。循环链表有循环单链表和循环双链表两种类型。它的特点是表中最后一个结点的指针域指向头结点,整个链表形成一个环。由此,从表中任一结点出发均可找到表中其他结点。

2023-05-25 17:20:38 145

原创 2.3.2 双向链表

在双链表中,由于每个结点既包含一个指向后继结点的指针,又包含一个指向前驱结点的指针,所以当访问过一个结点后既可以依次向后访问每一个结点,也可以依次向前访问每一个结点。因此与单链表相比,双链表中访问一个结点的前、后结点更方便。

2023-05-25 16:39:12 39

原创 2.3.1 线性链表

线性表的链式存储结构的特点是用一组任意的存储单元存储线性表的数据元素(存储单元可以是连续的,也可以是不连续的)。因此,为了表示每个数据元素与其直接后继数据元素之间的逻辑关系,对于数据元素来说,除了存储其本身的信息之外,还需存储一个指示其直接后继的信息(即直接后继的存储位置)。这两部分信息组成数据元素的存储映像,称为结点。它包括两个域:其中存储数据元素信息的域被称为数据域;存储直接后继存储位置的域称为指针域。指针域中存储的信息称作指针或链。n个结点链结成一个链表,即为线性表的链式存储结构。

2023-05-24 16:12:02 157

原创 第二章 从C到C++

C++对函数进行了更严格的限制,必须先声明或定义函数才能使用该函数。从用户使用的角度来看,C++有两种函数:标准库函数和用户自定义的函数。标准库函数由C++系统定义并提供给用户使用,可以看作对语言功能的扩充。用户根据特定任务编写的函数称为自定义函数。函数的使用是通过函数调用实现的。函数调用指定了被调用函数的名字和调用函数所需的信息(参数)。调用函数所提供的实际参数,简称实参。

2023-04-08 12:25:27 103

原创 初阶C语言编程习题

初阶C语言编程习题

2023-02-19 22:32:08 72

原创 9 数据的存储

数据的存储

2023-02-17 21:33:06 56

原创 8 实用调试技巧

实用调试技巧

2023-02-16 20:52:52 61

原创 7 结构体初阶

结构体初阶。

2023-02-14 21:23:04 49

原创 6 指针(定义、类型、运算等)

在计算机科学中,指针是编程语言中的一个对象。利用地址,它的值直接指向存在电脑存储器中另一个地方的值。由于通过地址能找到所需要的变量单元,可以说,地址指向变量单元。因此,将地址形象化的成为“指针”。意思是,通过它能找到以它为地址的内存单元。野指针就是指针指向的位置是未知的(随机的,不正确的,没有明确限制的)数组名是数组首元素地址。

2023-02-14 20:29:51 62

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除