导航

2019年3月27日

摘要: 尾递归 只返回递归函数自己, 而非表达式(不带有运算) 阶乘的尾递归 斐波那契尾递归 阅读全文

posted @ 2019-03-27 23:08 菜花教授 阅读(123) 评论(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 菜花教授 阅读(381) 评论(0) 推荐(0) 编辑

2019年3月25日

摘要: 都是获取当前作用域的内容: 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 菜花教授 阅读(133) 评论(0) 推荐(0) 编辑

摘要: 找寻变量的调用顺序采用LEGB原则(即就近原则) 依据就近原则,从下往上 从里向外 依次寻找 阅读全文

posted @ 2019-03-25 23:14 菜花教授 阅读(146) 评论(0) 推荐(0) 编辑

2019年3月23日

摘要: 各种编码在内存中所占的大小: python3代码执行过程: unicode只在内存中进行显示, 传输和存储需要用到utf8/GBK.., 所以必须转成utf8/GBK.. str和bytes的区别就是编码方式的不同: python3中str和bytes表现和编码: 在python2中: 阅读全文

posted @ 2019-03-23 18:32 菜花教授 阅读(110) 评论(0) 推荐(0) 编辑

2019年3月22日

摘要: 使用容器中的元素生成k, v为统一值, 指向同一个内存地址 默认值指向同一个内存, 修改就全部修改 当listvar改变时, dictvar内所有的字典元素的v都会改变 阅读全文

posted @ 2019-03-22 23:21 菜花教授 阅读(211) 评论(0) 推荐(0) 编辑

摘要: 浅拷贝 # 浅拷贝就是从新开辟一块内存空间作为容器# 拷贝引用, 没有拷贝值 深拷贝 # 深拷贝是从新开辟内存空间# 把元素值拷贝下来, 没有拷贝引用 阅读全文

posted @ 2019-03-22 00:26 菜花教授 阅读(75) 评论(0) 推荐(0) 编辑