摘要: 递归:就是函数在运行的过程中调用自己 缺点:占内存 优点:会让代码变简单 递归中的返回值: 不要看到return就认为已经返回了,要看返回操作是在递归到第几层的时候发生的,然后返回给了谁 如果不是返回给最外层函数,调用者就接收不到,需要再分析,看如何把结果返回回来 用递归实现阶乘: 二分查找法: 阅读全文
posted @ 2018-09-08 20:54 就俗人一个 阅读(231) 评论(0) 推荐(0) 编辑
摘要: 一、内置函数 作用域相关:locals()、globals(),点击查看 其他:eval、exec、dir、input、print、hash、open、__import__、compile eval和exec都可以执行字符串类型的代码 eval有返回值:适合有结果的计算 exec没有返回值:适合流程 阅读全文
posted @ 2018-09-06 22:32 就俗人一个 阅读(251) 评论(0) 推荐(0) 编辑
摘要: 一、生成器 从生成器中取值的几个方法: next() for 数据类型的强制转换(占用内存) send()获取下一个值的效果和next()基本一致;只是在获取下一个值的时候,给上一个yield的位置传递一个数据。使用send的注意事项: 第一次使用生成器的时候,必须使用next获取下一个值 最后一个 阅读全文
posted @ 2018-09-03 21:06 就俗人一个 阅读(212) 评论(0) 推荐(0) 编辑
摘要: 一、迭代器 dir():用来展示xx拥有的所有使用方法 只要是能被for循环的数据类型,就一定拥有__iter__方法: 一个列表执行了__iter__()之后的返回值就是一个迭代器: 示例: 可迭代:只要含有__iter__方法都是可迭代的 迭代器:同时含有__next__和__iter__方法就 阅读全文
posted @ 2018-09-02 22:56 就俗人一个 阅读(159) 评论(0) 推荐(0) 编辑
摘要: 使用装饰器修复技术wraps 带参数的装饰器 多个装饰器装饰一个函数 阅读全文
posted @ 2018-09-01 16:39 就俗人一个 阅读(163) 评论(0) 推荐(0) 编辑
摘要: 装饰器: 装饰器的作用:在不改变函数调用方式的基础上,在被装饰的函数的前、后添加功能 开放封闭原则: 进一步了解装饰器: 装饰"带参数函数"的装饰器: 装饰器: 阅读全文
posted @ 2018-08-31 17:36 就俗人一个 阅读(155) 评论(0) 推荐(0) 编辑
摘要: 命名空间:3种 内置命名空间 —— python解释器 就是python解释器一启动就可以使用的名字(input、print ...)存储在内置命名空间中 内置的名字在启动解释器的时候被加载进内存里 全局命名空间 —— 我们写的代码但不是函数中的代码 是在程序从上到下被执行的过程中依次加载进内存的 阅读全文
posted @ 2018-08-31 17:25 就俗人一个 阅读(335) 评论(0) 推荐(0) 编辑
摘要: 自定义函数:可以在任何需要它的地方调用 return的作用: 返回值的3种情况: 函数的参数: 站在形参的角度上: 站在实参的角度上: 定义函数的时候:先定义位置参数、再定义默认参数 接收各种参数示例: 如果列表或字典作为实参,可以通过 *列表 或 **字典 按照顺序打散,然后传递过去: 默认参数的 阅读全文
posted @ 2018-08-28 23:12 就俗人一个 阅读(230) 评论(0) 推荐(0) 编辑
摘要: 一、打开文件 二、操作文件 只读: 只写: bytes写读: 读写:一般用 r+ 就够了 seek:指定光标移动到某个位置 read(n) :n为数字,读多少 tell() :获取光标当前的位置 truncate:截取文件 但凡以后写代码遇到修改文件都是读一个,改一个,删除文件,重命名文件 具体步骤 阅读全文
posted @ 2018-08-28 21:30 就俗人一个 阅读(207) 评论(0) 推荐(0) 编辑
摘要: 一、示例 可以看到a、b内存地址是一样,可如下图表示;而c是完完全全拷贝了一份a指向的内容,这就是深拷贝。 二、深浅拷贝 浅拷贝:copy.copy() 把c里的东西取出来,然后d指向它,大致如下图所示。 深拷贝:copy.deepcopy() 深拷贝:我已经完完全全拷贝过来了,你改你的东西,不关我 阅读全文
posted @ 2018-08-28 11:51 就俗人一个 阅读(216) 评论(0) 推荐(0) 编辑