![](https://img-blog.csdnimg.cn/20200519102617302.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
PYTHON
学习笔记
scyttscy
工作多年后,重新发现了自己对编程的热爱,所以我来了,从零开始,也许这就是生活的乐趣,不为成绩,不为工作
展开
-
汉诺塔递归我理解不了怎么办
''' 汉诺塔——借助B柱,将A柱的所有盘子移动到C柱上,期间小的盘子永远在上面,一次只能移动一个盘子 ''' # 观察问题: # 1.如果只有 1 个盘子A——>C # 2.如果有大于等于 2 个盘子,我们总可以把它们看成是 2 个盘子,一个是最下面的最大的盘子,一个是剩下上面的盘子 # 2.1 先把最上面的1 个或多个盘子移到B上A——>B # 2.2 再把最下面的盘子从A——>C # 2.3 把B柱上的盘子从B——>C # 定义一个函数用来解决汉诺塔问题 def hanoiT原创 2020-07-02 17:26:14 · 857 阅读 · 1 评论 -
10.高阶函数、闭包和装饰器
1.高阶函数 接收函数作为参数 # 高阶函数——接收函数作为参数,或接收函数作为返回值 # 定义一个函数将列表中所有的偶数保存到一个新的列表中 lst1 = [1, 2, 3, 4, 5, 6, 7, 8] # 高阶函数 # 函数作为参数——此时就是将一段代码传递到函数中啦 # 检查奇偶、是否大于3 def fn1(i): if i % 2 == 0: return True def fn2(i): if i % 2 != 0: return True原创 2020-07-01 18:36:48 · 162 阅读 · 0 评论 -
09函数-返回值、作用域、递归...
1. 函数的返回值 返回值就是函数执行后返回的结果 通过return来指定返回结果 return后面可以是任意类型的结果 #求任意个数的和 # def s(*b): # r = 0 # for i in b: # r += i # print(r) # s(1, 2, 3, 4, 5, 99) # 114 ''' return后面可以是任意类型的值,是什么函数就返回什么 ''' def fn(): return 123 r=fn() print(r)原创 2020-06-19 07:12:16 · 137 阅读 · 0 评论 -
实参的类型
''' 当传递的参数是不可变对象时(常量、字符串、元组),在函数中对其修改不影响原值 ''' def fn3(a): a=20 print('a =', a) b=10 fn3(b) # a = 20 print('b =',b) # b = 10 ''' 当传递的参数是可变对象时(列表、字典、集合),在函数中对其修改同时对原值进行修改 当我们不想改变原变量值时可以对可变对象进行复制,形如fn(b.copy()) ''' def fn4(a): a[0] = 99原创 2020-06-16 11:34:10 · 810 阅读 · 0 评论 -
08函数-参数
1.函数简介 函数也是一个对象 函数用来保存一些可执行的代码,在需要时可以重复调用 # 函数中保存的代码不会立即执行,需要调用 def fn(): print('这是第一个函数') # print(fn) # <function fn at 0x0000000002882730> fn() # 这是第一个函数 # fn是函数对象,fn()是函数调用 2.函数的参数 2.1形参和实参 2.2函数的传递方式 3.不定长参数 4.参数的解包 ...原创 2020-06-16 11:27:05 · 112 阅读 · 0 评论 -
可变对象-value值可变
可变对象 对象 。每个对象当中都保存了三个数据:id(标识)、type(类型)、value(值) 。改变对象中value的值 。给对象重新赋值 a=[1,2,3] print(id(a)) # 42375624 a[0]=10 print(a,id(a)) # [10, 2, 3] 42375624 a=[10,2,3] print(a,id(a)) # [10, 2, 3] 42375432 a=[1,2,3] print('a =',a,id(a)) # a = [1, 2, 3] 42310原创 2020-06-15 12:36:54 · 175 阅读 · 0 评论 -
07元组、字典和集合
1.元组简介 2.字典简介 2.1字典的基本介绍 2.2字典的使用 2.3copye() 3.遍历字典 4.集合 4.1集合简介 4.2集合运算原创 2020-06-15 11:21:43 · 122 阅读 · 0 评论 -
列表切片a[i:j:k]各种情况总结
列表切片a[i:j:k] (a[1:5:1] a[1:-5:1] a[-1:5:1] a[-1:-5:1]; a[1:5:-1] a[1:-5:-1] a[-1:5:-1] a[-1:-5:-1]) 注意:步长为正时,起点i=0为默认值,可以省略;步长为负时,起点i<0,i=-1为默认值,可以省略 a=list(range(20)) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19] 1. 当步长k>原创 2020-06-09 11:41:20 · 376 阅读 · 0 评论 -
06列表
1 序列(sequence) 1.1 基本概念 序列是python中最基本的一种数据结构 数据结构是计算机中数据存储的方式 序列用于保存一种有序数据,所有数据在序列中都由一个唯一的位置 每个数据在序列中的唯一位置称之为“索引”,索引的分配是按照数据添加的顺序来进行分配的 1.2 序列的分类 可变序列,如列表(list)、字典(dict) 不可变序列,如字符串(str)、元组(tuple) 2 列表 列表list是python中的一个对象 列表是用来存储对象的对象 列表中可以保存多个有序的数据 2原创 2020-06-08 13:41:57 · 118 阅读 · 0 评论 -
05条件控制语句
5.1 条件判断语句(if 语句) 5.1.1语法: if 条件表达式: 代码块 代码块中的一组语句要么同时执行,要么都不执行 代码块以缩进开始,恢复缩进之前结束 # 语法:if 条件表达式: # 代码块(代码块中语句要么都执行要么不执行,代码块以缩进开始,恢复缩进结束) # 默认情况下,if语句只控制紧跟其后的那条语句 # if True : print('hello') # n=30 # if n>20 : print('n比20大') # print('我也执行啦') n=30原创 2020-06-03 13:15:09 · 190 阅读 · 0 评论 -
04 运算符
4.1 运算符 4.1.1 运算符概念 运算符是对一个以上的操作对象进行运算 1+2 1和2是操作对象 +是运算符 4.1.2 运算符分类 算术运算符 赋值运算符 比较运算符(关系) 逻辑运算符 条件运算符(三元) 4.2 算术运算符 +、-、*、/、//取整、%取余、**x数字的x次幂 4.3 赋值运算符 +=(x +=3 同 x=x+3) -=(x -=3 同 x=x-3) *=(x *=3 同 x=x*3) **=(x **=3 同 x=x**3) /=(x /=3 同 x=x/3) /原创 2020-05-29 17:48:54 · 293 阅读 · 0 评论 -
03 基本数据类型
1 几个概念 1.1 表达式是指包括数字、字符、算符、变量、常量等用计算数值的这么一种类似公式的东西 表达式不会对程序产生实质性的影响,只是用来计算一个结果或者说值 在dos中python的交互模式下面如果输入一个表达式,会直接计算出结果输出 1.2 语句是一个自成体系有语法的,有关联的一组词或句子 在程序中一般用语句来完成某种功能 print(‘1+2’)、input(),对程序由影响,但不一定由返回值输出 语句块 1.4 程序(program)是由一条条语句和表达式组成的 1.5 函数是为了完成原创 2020-05-25 17:13:03 · 261 阅读 · 0 评论 -
01计算机要点
计算机要点 1 计算机的基本概念 1.1 计算机是一种用于进行高速数值计算的电子机器 特点:存储记忆、高速计算、交互通信 1.2 计算机组成包括硬件和软件两类 硬件:键盘、鼠标、硬盘、处理器、显卡等物理存在的 软件:系统、各种应用、浏览器、ps、迅雷等某种功能的代码实现 2 计算机语言 2.1 计算机语言是指用于人和计算机交互通信的语言 特点: 语法规则、交互通信 2.2 计算机语言的发展 机器语言:简单来说就是二进制数”0“、”1“ 汇编语言:用简单字母和符号串替代二进制表示 高级语言:原创 2020-05-20 20:08:00 · 133 阅读 · 0 评论