posted @ 2019-03-27 23:08 菜花教授 阅读(124) 评论(0) 推荐(0) 编辑
摘要:
尾递归 只返回递归函数自己, 而非表达式(不带有运算) 阶乘的尾递归 斐波那契尾递归 阅读全文
摘要:
迭代器 能够被next调用, 并不断返回值的一个对象惰性排序, 一次只获取一个数据, (占用一个空间)迭代器可以遍历无限量的数据 特点: 1.惰性序列, 节省内存 2.遍历使用next, 方向不可逆 3.迭代器可以遍历无限量大的数据 1. 可迭代对象 关于for循环: 2.迭代器 阅读全文
posted @ 2019-03-27 23:07 菜花教授 阅读(194) 评论(0) 推荐(0) 编辑
摘要:
递归函数: 自己调用自己的函数 执行结果: 执行过程: 阶乘的执行 栈帧空间: 阅读全文
posted @ 2019-03-27 23:05 菜花教授 阅读(382) 评论(0) 推荐(0) 编辑
摘要:
都是获取当前作用域的内容: locals() 获取局部作用域的所有内容 函数内:获取locals()之前的,当前作用阈所有内容 函数外:获取打印前, 当前的作用域所有内容 在闭包内: 会把使用到的外层函数的变量也一起输出 globals() 获取全局作用域的所有内容 函数内: 获取globals() 阅读全文
posted @ 2019-03-25 23:21 菜花教授 阅读(114) 评论(0) 推荐(0) 编辑
摘要:
闭包: 闭包的特点: 魔法方法__ closure __, 查看闭包函数使用过的变量 保存离得最近的那个外层函数的变量 保存最后一次nonlocal声明修改的变量 测试是不是闭包: 阅读全文
posted @ 2019-03-25 23:19 菜花教授 阅读(92) 评论(0) 推荐(0) 编辑
摘要:
获取变量时遵循LEGB原则,修改变量时需要global/nonlocal进行修改 global nonlocal 可变数据类型不用global声明也可以更改的情况: 删除局部变量, 不会再向全局中寻找的情况 内层函数对全局变量的操作修改还是赋值 注意事项: 阅读全文
posted @ 2019-03-25 23:17 菜花教授 阅读(134) 评论(0) 推荐(0) 编辑
摘要:
找寻变量的调用顺序采用LEGB原则(即就近原则) 依据就近原则,从下往上 从里向外 依次寻找 阅读全文
posted @ 2019-03-25 23:14 菜花教授 阅读(156) 评论(0) 推荐(0) 编辑
摘要:
各种编码在内存中所占的大小: python3代码执行过程: unicode只在内存中进行显示, 传输和存储需要用到utf8/GBK.., 所以必须转成utf8/GBK.. str和bytes的区别就是编码方式的不同: python3中str和bytes表现和编码: 在python2中: 阅读全文
posted @ 2019-03-23 18:32 菜花教授 阅读(111) 评论(0) 推荐(0) 编辑