Python
文章平均质量分 64
1024节
做任何事情,思路很重要
思想决定行动
展开
-
链表-python
为什么打印的是逆序的?因为是头部插入,每次都会将数据插在最前面。原创 2023-10-23 17:30:06 · 165 阅读 · 0 评论 -
python栈和队列
特点:先进后出 (last-in, first-out)入栈:push()出栈:pop()栈顶:get_top()栈中元素个数:size()判断栈是否为空:empty()特点:先进先出 (First in,First out)入队:push()。队尾(rear)指针加1。出队:pop()。对头(front)指针加1。对头元素:get_front()对尾元素:get_back()队列中元素个数:length()。判断队是否为空:empty()。判断队列是否满:filled()。原创 2023-10-18 15:54:25 · 170 阅读 · 0 评论 -
python桶排序
桶排序把元素分组,放在各个桶里,再对每个桶内的元素进行排序,最后将桶内的数据合并即可。原创 2022-07-18 17:23:04 · 724 阅读 · 0 评论 -
python计数排序
1. 创建一个长度为列表长度+1 的新列表2. 找出列表中元素出现的个数,并存储到新列表中 比如列表为:1 3 1 2 6 5 6 1 数 有几个 0 0 1 3 2 1 3 1 4 0 5 1 6 23. 清除旧列表的所有元素,按照元素出现的个数,按照顺序依次添加到旧列表中...原创 2022-07-18 14:04:48 · 827 阅读 · 0 评论 -
python归并排序
1. 拆分:将列表划分成多个不可再分的子序列,拆分到子序列中仅有 1 个元素; 2. 合并: 拆分完成后,开始合并,合并得到有序序列。原创 2022-07-11 23:42:09 · 557 阅读 · 0 评论 -
python之二分查找
思路:1. 先给定一个范围 比如:1-1002. 先找这个范围的一半mid,也就是数字50(下标为49)3. 如果找大了,则将最大范围设为 mid-1,此时范围为数字1-49(下标范围:0-48)4. 如果找小了,则将最小范围设为 mid+1,此时范围为数字50-100(下标范围:51-100)5. 重复2-4步骤,直到找到这个数字...原创 2022-06-19 21:11:06 · 758 阅读 · 0 评论 -
希尔排序----python
希尔排序也被称为缩小增量排序。可以理解为是插入排序的的一种更高效的实现。原创 2022-06-15 22:21:44 · 115 阅读 · 0 评论 -
python函数进阶
python函数进阶1. 匿名函数2. sorted3. map4. reduce5. filter 过滤1. 匿名函数语法: lambda params(参数列表):expression定义函数 x + ydef fun(x, y): return x + yprint(fun(1, 3))输出结果:4使用匿名函数实现a = lambda x,y:x+yprint(a(2,3))输出结果:52. sortedsorted(iterable, ke原创 2022-05-22 19:20:37 · 275 阅读 · 0 评论 -
python的is和==
python的is和==1. is 和 ==2. 举例1. ==2. is3. a = 10 b =10,地址一样吗?1. is 和 ==万物皆对象,对象是由id(地址),type(类型),value(值)组成。is:判断两个地址是否一样,也就是说它们的引用的是否为同一个对象。== :判断两个对象的值是否相等2. 举例1. ==a = 1b = 1c = [1, 2, 3]d = [1, 2, 3, 4]print('a和b值是否相等', a == b)print('c和d原创 2022-05-22 10:50:54 · 146 阅读 · 0 评论 -
python上下文管理器
python上下文管理器1. 前言2. 先谈 'with'3. 上下文管理器5. 装饰器contextmanager1. 前言偶然间认识了with,但它是什么意思,有什么用?对于这些很是模糊,下面我们就细细看来。2. 先谈 ‘with’刚学习文件操作时的做法这是初学时最基础的方法,打开文件,读(写)内容,关闭文件。# 1.打开文件file = open("D:\\record.txt","r",encoding='utf-8') # 打开的文件区分大小写# 2.读取文件的内容t原创 2022-05-21 21:12:17 · 169 阅读 · 0 评论 -
python生成器
python生成器1. 生成器 genrator2. 创建生成器1. 利用列表推导式2. 利用yield关键字3. 使用列表创建10000000000个元素和生成器又何区别?4. yield 关键字5. 斐波那契数列1. 普通函数的方式2. 使用生成器1. 生成器 genrator生成器是一种特殊的迭代器,不会先生成数据,生成器保存的是算法。生成器被调用后,函数会保留当前的数据。2. 创建生成器1. 利用列表推导式列表推导式的[]改为()a = (i for i in range(10))原创 2022-05-19 20:38:37 · 213 阅读 · 0 评论 -
python二维列表
python二维列表1. 本质2. 创建二维列表3. “读” 二维列表4. "写" 二维列表5. 遍历二维列表6. 练习1. 本质二维数组本质上是以列表作为列表元素的列表。简单理解就是:二维数组的元素还是列表2. 创建二维列表例如:创建2行3列的二维数组,也就是两个一维列表,每个一维列表有三个元素(相当于2行3列)arr = [ [0,1,2], [0,1,2]]# 1. 创建一个空列表arr = [] for i in range(2)原创 2022-05-19 15:29:44 · 20430 阅读 · 0 评论 -
python装饰器
这里写目录标题1. 装饰器2. 我的第一个装饰器2. 语法糖3. 装饰器装饰和调用哪个先进行?4. 练习:从1打印到10000执行的时间5. 装饰器的应用1. 装饰带有参数的函数2. 装饰带有参数和返回值的函数3. 装饰带有不定长参数和返回值的函数4. 带参数的装饰器1. 装饰器什么是装饰器:它本质就是一个闭包函数,就是给已有函数 添加额外功能的函数注意:已有函数的源代码 和 调用方式 不改动对已有函数增加其它功能开放封闭原则开放封闭原则,也适用于函数式编程封闭:对于已经完原创 2022-05-18 19:30:43 · 186 阅读 · 0 评论 -
python基础
1. 基础语法1. 变量2. 交互- 输入和输出3. 数据类型4. 怎么获取数据类型?5. 运算符6. 格式化字符串7. [::-1]的几种用法程序的三种结构: 顺序结构 分支结构 循环结构2. 顺序结构顺序结构顺序结构练习题:反转一个三为主3. 分支结构分支结构分支结构练习题1:企业发放的奖金根据利润提成分支结构练习题2:if嵌套抛铅球分支结构练习题3:石头剪刀布分支结构练习题4:闰年判断分支结构练习题5:好友管理系统4. while循环while循环while循原创 2022-05-16 21:16:06 · 201 阅读 · 0 评论 -
for循环
for循环1. 语法2. 1 到 100 的累加3. 循环遍历各种数据类型1. 字符串2. 列表3. 元组4. 字典4. for else语句5. 计算 1 到 100 之间, 能被 3 和 5 同时整除的数字之和。6. 乘法口诀表1. 语法for x in 字符串|列表|元组|字典|集合:: // 代码else: // 代码2. 1 到 100 的累加a = 0for i in range(101):# 依次获取从 1 到 100 这些值 a += i # 做累加操作pr原创 2022-04-03 23:20:52 · 1663 阅读 · 0 评论 -
while循环
while循环1. 语法2. 打印100次你好3. 死循环?4.1到100的和5.100以内的奇偶数和6. break7. continue8. while else 语句1. 语法while (判断条件): 执行语句……2. 打印100次你好i = 1 # 初始值while i<100: # 条件 print("第"+str(i)+"次你好") # 完成主要业务代码 i += 1 # 变量的改变(去掉i将一直保持1,循环会变成死循环)3. 死循环?while原创 2022-04-02 21:58:31 · 1008 阅读 · 0 评论 -
python顺序结构
python顺序结构1. 打印2进制,8进制,16进制2. 计算正方形的周长和面积3. 梯形面积4. 计算圆的周长和面积5. 电影票6. 整数平方运算7. 求解一元二次方程8. 输入一个三位数,打印出第二位9. 买文具1. 打印2进制,8进制,16进制a = 10print('2进制',bin(a))print('16进制',hex(a))print('8进制',oct(a))2. 计算正方形的周长和面积# coding:utf8a = eval(input("请输入正方体的边长:"))原创 2022-05-16 20:34:25 · 688 阅读 · 0 评论 -
python分支结构
分支结构成绩判断1. 分支结构成绩判断1. 多重if2. 三元表达式3. for循环2. 猜数字游戏1. 分支结构成绩判断将成绩转化为优良中差。 优秀 >=90 良好 >=80 中 >= 60 差 < 60分析: 需要用到多重if结构来实现1. 多重ifscore = int(input('输入分数:'))if score >= 90: grade = '优秀'elif score >= 80: grade = '良好原创 2022-03-27 00:02:41 · 4474 阅读 · 0 评论 -
python运算符
python运算符1. 数值运算2. 赋值运算符3. 比较运算符4. 逻辑运算符1. 数值运算运算符符号+加-减乘/除//取整除(向下取整)%取余**指数 返回a的b次幂>>> 5 + 4 # 加法9>>> 6.6 - 2 # 减法4.6>>> 3 * 2 # 乘法6>>> 2/ 3 # 除法0.6666666666666666>&g原创 2022-05-16 20:21:39 · 128 阅读 · 0 评论 -
python闭包
闭包1. 闭包是什么?2. 定义闭包1. 闭包打印2. 两个数相加3. 小总结3. 使用闭包修改外部函数的变量4. 小练习1. 利用闭包聊天2. 计数器1. 闭包是什么?函数嵌套了一个函数,内部函数使用了外部函数的变量或者形参并且外部函数返回了内部函数,我们把这个使用外部函数变量的内部函数 称为闭包。2. 定义闭包条件: 1、 定义函数嵌套的前提下(函数中又定义一个函数) 2、 内部函数使用了外部函数的变量或形参 3、 外部函数返回了内部函数 注意:返回函数时不能加小括号,否则就为原创 2022-05-15 22:00:24 · 138 阅读 · 0 评论 -
python引用,可变类型和不可变类型
python值传递和引用传递1. 值传递和引用传递2. 不可变类型int1. 改变a的值,b会改变吗?2. 函数3. 如果修改字符串内容呢?3. 可变类型列表1. 修改列表2. 函数3. 对整个列表修改呢?1. 值传递和引用传递值传递不可变类型,引用传递可变类型。不可变类型(immutable):数据不可以直接修改 例如:整数、字符串、元组可变类型(mutable): 数据可以直接被修改 例如:列表,集合,字典,对象2. 不可变类型intid():可以查看变量的内存地址1. 改变a的原创 2022-05-14 22:00:11 · 398 阅读 · 0 评论 -
python迭代器
python迭代器1. 迭代2. 可迭代对象3. 如何判断是否为可迭代对象?4. 迭代器Ierator1. 迭代器如何获取呢?2. 使用迭代器 iter()和next()1. 迭代在之前数据的基础上取下一个,不断重复,是访问集合元素的一种方式。例如:for循环,它就是挨个把列表中的数据打印输出for i in range(5): print(i)# 打印:0,1,2,3,42. 可迭代对象简单理解就是能够被遍历输出的python的可迭代对象有:1.可原创 2022-05-11 20:42:18 · 319 阅读 · 0 评论 -
python选择排序和插入排序
python选择排序和插入排序1. 选择排序2. 插入排序3. 时间复杂度1. 选择排序未排序的第一个数和其它数比较,找出最小(大)的数,放在未排序第一个数的位置a = [7,5,9,2,1]print('排序前:',a)for i in range(len(a)-1): for j in range(i+1,len(a)): if a[j] > a[i]: temp = a[j] a[j] = a[i]原创 2022-05-11 17:43:10 · 241 阅读 · 0 评论 -
python冒泡排序
python冒泡排序1. 解释2. 代码3. 如果使用的是有序列表呢?1. 解释对列表[ 1,4,6,7,8,5,3,9,2]进行排序每趟循环中让相邻的两个进行比较,如果前面的数大于后面的数就进行位置交换,当循环结束后,最大值就会被排到最后了。所以冒泡排序就像一个水泡从水底向上冒一样。2. 代码a = [1,4,6,7,8,5,3,9,2]print('排序前:',a)for i in range(len(a)-1): for j in range(len(a)-1-i):原创 2022-05-10 21:42:14 · 228 阅读 · 0 评论 -
python快速排序
快速排序1. 思路2. 举例3. 详细步骤分析4. 代码实现1. 思路从序列中任选一个元素(temp)作为中间数,列表分为两部分,把所有比 temp小的数移动到它的左边,再所有比 temp大的数移动到它的右边(简单理解:左边都比temp小,右边都比temp大)分别对左右两部分进行递归,直到左右两部分剩余一个元素2. 举例比如现在有列表: a = [6,7,4,1,8,5,3,9,2]先从列表中找 6 作为中间数,将列表分为两部分(6的左边比6小,右边比6大)对于左半部分,重复第一步的原创 2022-05-09 17:27:04 · 331 阅读 · 0 评论 -
python格式化字符串
python格式化字符串1. format()1. 位置参数2. 关键字参数3. 打印大括号{}4. 定点数f2.格式化操作符: %1. format()1. 位置参数a = '{0} 天 {1} {2}'.format('今','气','好')print(a)2. 关键字参数错误写法a = '{a} 天 {b} {c}'.format('今','气','好')print(a)不知道a,b,c分别对应谁正确写法a = '{a} 天 {b} {c}'.format(c =原创 2021-12-08 11:17:07 · 833 阅读 · 0 评论 -
python的[::-1]的几种用法
python的[::-1]的几种用法1. 语法2. 例子1. 最后一个元素(只有一个参数)2. 从位置0到位置-1之前的数4. start或end省略1. start省略(从右到左)[:5:-1]2. start省略(从左到右)[:6:1]3. end省略(从右到左)[6::-1]4. end省略(从左到右)[6::1]5.start或end省略 (从左往右) [::-1]6. start或end省略 (从左往右) [::-2]1. 语法[start : end : step] start:开始下原创 2021-10-13 11:56:37 · 28370 阅读 · 8 评论 -
python怎么获取数据类型?
python怎么获取数据类型?1. type()2. isinstance()1. type()type() : 获取变量类型a = 1 # print(type(a))b = 3.14print(type(b))c = True print(type(c))d = 3+3jprint(type(d))2. isinstance()isinstance(a,b)函数有两个参数a: 要进行判断的数据b: 自己指定的数据类型结果会返回一个bool类型,true:a和b这两原创 2021-10-12 18:12:49 · 9336 阅读 · 0 评论 -
python数据类型
python数据类型1. 数字2. 字符串1. 什么是字符串?2. 字符串的截取1. 字符串的截取的语法格式:2. 2种取值顺序3. \n换行4. 不想让反斜杠发生转义怎么做(r)?5. 步长截取3. 列表1. 创建1. 使用 [ ] 创建列表2. 使用 list() 函数创建列表2. 元素输出3. 列表添加元素1. append()2. extend()3. insert()4.列表删除操作1. remove()2. del3. pop()4. 切片5. clear()1. 数字当指定一个值时,Nu原创 2021-10-05 17:33:52 · 320 阅读 · 0 评论 -
pthon如何从控制台接收内容-交互?
pthon如何从控制台接收内容-交互?1. input()2. input()使用3. 转换类型1. input()input() 是 Python 的内置函数,用于从控制台读取用户输入的内容, input() 函数接受一个标准输入数据,返回为 string 类型。语法:str = input("提示信息")注意:str 表示一个字符串类型的变量(input 会将读取到的内容赋给变量str )提示信息,它会显示在控制台上,提示用户应该输入什么样的内容;如果不写 ,就不会有任何提示信息。原创 2021-10-03 15:10:04 · 594 阅读 · 0 评论 -
python变量
python变量1. 标识符2. 变量1. 变量赋值2. 在代码中如何使用?3. 变量一直不变吗?1. 标识符标识符包含变量、类和方法[函数]的名等标识符必须以字母,下划线或者美元符$开头标识符对大小写敏感,也就是X!=x变量名要起到见名知意,尽量使用英文字母,尽量使用驼峰命名法变量名中间不能有空格变量名要避开python的保留字2. 变量变量是标识符的一种,是一种可以变化的量,并且变量不需要声明。1. 变量赋值每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。name原创 2021-10-03 11:03:02 · 193 阅读 · 0 评论 -
Python文件操作
Python文件操作1.open()函数2. 读文件3. 文件指针4. 文件写入1. w(覆盖)2. a(追加)1.open()函数open():函数用于创建或打开指定文件语法:file = open(” 路径”,”操作模式”,”编码”)操作模式:模式意义r只读模式打开文件,读文件内容的指针会放在文件的开头w以只写模式打开文件,若文件存在会清空覆盖;反之,则创建新文件a以追加模式打开一个文件,对文件只有写入权限,如果文件已经存在,文件指针将放在文件的末尾;反原创 2021-09-27 21:34:49 · 312 阅读 · 0 评论 -
Python练习题
Python练习题1. 素数2. 兔子数量1. 素数概念:指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数。简单理解就是除了1和它本身外不能被其它自然数整除。分析:1.写一个自定义函数,用来判断是否为素数,如果是返回True,反之False2.函数为什么要 m % i == 0,我们要让m和它小的数求余,如果等于0,就为素数3.通过键盘输入一个数,调用所编写的函数,判断所输入的数是否为素数def IsSu(m): if m == 1: return fa原创 2021-09-17 09:51:31 · 640 阅读 · 0 评论 -
python递归
python递归1. 斐波那契数2.阶乘3. 汉诺塔1. 斐波那契数它的规律为:1,1,2,3,5,8,13,21……,输出其前20个数字规律:第一个和第二个数字相等,第三个数字等于前两个数字相加,第四个数字又等于第二个和第三个数字相加,以此类推。a,b,c=1,1,0print("1,1",end="")for i in range(3,20 + 1): c = a + b print(",",c,end="") a = b b原创 2021-09-15 12:38:25 · 1667 阅读 · 0 评论 -
Python面向对象
Python面向对象1. 本质2. 类1. 概念2. 语法3. 对象1. 对象的内容2. 类和对象的区别4. 类和对象1. 定义一个学生类2. 构造函数1. 本质一切皆对象2. 类1. 概念类是抽象的概念,它是对具有相同属性和方法的对象的一个通称。2. 语法class[关键字,不可省略] 类名: 属性定义[例如: age=0] 方法定义[例如: 构造函数]# 调用类 例如: a=a(); # 实例化类a.age=19 # 并且给属性赋值3. 对象对象是类的实例1. 对象的原创 2021-09-13 17:04:05 · 169 阅读 · 0 评论 -
Python函数
Python函数1. 概念2. 语法3.无参函数1. 无返回值2. 有返回值4. 有参函数1. 无返回值2. 有返回值3. 形参和实参4. 位置参数5. 关键字参数6. 参数默认值1. 概念函数: 把重复利用的代码块封装起来,多次利用起到少写代码,高效简洁的作用内置函数: 比如 print()、len() 函数等,这些都是python为我们提供的内置函数,可以直接进行调用。自定义函数:自己定义一段可重复使用代码的函数,简单理解就是自己创建的函数。2. 语法def 函数名称([参数列表]):原创 2021-09-12 15:02:03 · 7211 阅读 · 10 评论