摘要: 函数本身也可以赋值给变量 >>> f = abs >>> f <built-in function abs> 结论:函数本身也可以赋值给变量,即:变量可以指向函数。 高阶函数 既然变量可以指向函数,函数的参数能接收变量,那么一个函数就可以接收另一个函数作为参数,这种函数就称之为高阶函数 f = ab 阅读全文
posted @ 2022-04-22 22:41 辛宣 阅读(30) 评论(0) 推荐(0) 编辑
摘要: 一个对象是仓库,也就是iterable。 一个对象是仓管员,也就是iterator。 ##迭代器 可迭代对象(可用for循环的对象): 1.list tuple dict set str等几何数据类型。 2.generator生成器,或者包含yield的生成器函数 from collections. 阅读全文
posted @ 2022-04-22 15:51 辛宣 阅读(23) 评论(0) 推荐(0) 编辑
摘要: 也就是说,上面的函数和generator仅一步之遥。要把fib函数变成generator函数,只需要把print(b)改为yield b就可以了: 难理解的就是generator函数和普通函数的执行流程不一样。普通函数是顺序执行,遇到return语句或者最后一行函数语句就返回。 而变成generat 阅读全文
posted @ 2022-04-22 15:04 辛宣 阅读(28) 评论(0) 推荐(0) 编辑
摘要: Python中的**()** : 代表tuple元组数据类型,元祖是a56爆大奖在线娱乐不可变序列。创建方法很简单,大多数时候都是小括号括起来的。 Python中的中括号[]: 代表list列表数据类型,列表是a56爆大奖在线娱乐可变序列。 Python中的花括号{}: 代表dict字典数据类型,字典是Python中唯一内建的映射 阅读全文
posted @ 2022-04-22 11:48 辛宣 阅读(1216) 评论(0) 推荐(0) 编辑
摘要: 在一个列表生成式中,for前面的if ... else是表达式,而for后面的if是过滤条件,不能带else。 阅读全文
posted @ 2022-04-22 11:46 辛宣 阅读(173) 评论(0) 推荐(0) 编辑
摘要: 总结 定义函数时,需要确定函数名和参数个数; 如果有必要,可以先对参数的数据类型做检查; 函数体内部可以用return随时返回函数结果; 函数执行完毕也没有return语句时,自动return None。 函数可以同时返回多个值,但其实就是一个tuple。 阅读全文
posted @ 2022-04-20 23:04 辛宣 阅读(32) 评论(0) 推荐(0) 编辑
摘要: 如果想定义一个什么事也不做的空函数,可以用pass语句: def nop(): pass pass语句什么都不做,那有什么用?实际上pass可以用来作为占位符,比如现在还没想好怎么写函数的代码,就可以先放一个pass,让代码能运行起来。 pass还可以用在其他语句里,比如: if age >= 18 阅读全文
posted @ 2022-04-20 23:01 辛宣 阅读(66) 评论(0) 推荐(0) 编辑
摘要: ![](https://img2022.cnblogs.com/blog/1543912/202204/1543912-20220420133327688-697544952.png) 阅读全文
posted @ 2022-04-20 13:42 辛宣 阅读(31) 评论(0) 推荐(0) 编辑
摘要: try & except 块 一旦 try 块中的内容出现了异常,那么 try 块后面的内容会被忽略,Python会寻找 except 里面有没有对应的内容,如果找到,就执行对应的块,没有则抛出这个异常。 阅读全文
posted @ 2022-04-20 13:31 辛宣 阅读(51) 评论(0) 推荐(0) 编辑
摘要: while 循环 while <condition>: <statesments> for 循环 for <variable> in <sequence>: <indented block of code> continue 语句 遇到 continue 的时候,程序会返回到循环的最开始重新执行。 阅读全文
posted @ 2022-04-19 16:44 辛宣 阅读(42) 评论(0) 推荐(0) 编辑