摘要: 递归函数有两个特点: 1,自己调用自己 2,有一个结束条件 注意: 1,但凡是递归可以写的程序,循环都可以解决。 2,递归效率在很多时候会很低,不推荐使用。 递归使用场景:斐波那契数列 阅读全文
posted @ 2019-09-25 10:49 测试的世界很精彩 阅读(197) 评论(0) 推荐(0) 编辑
摘要: 定义:如果在一个内部函数里,对外部作用域(单不是在全局作用域)的变量进行引用。 关于闭包:闭包=内部函数块 + 定义函数时的环境 下面的例子没有定义函数的环境,所以不是闭包 闭包作用:在不修改原有的功能基础上增加功能 原函数只实现了打印,但是我后面需要增加打印耗费时间,因此放在inner函数下面 阅读全文
posted @ 2019-09-25 10:48 测试的世界很精彩 阅读(146) 评论(0) 推荐(0) 编辑
摘要: 装饰器类似与上面,先编写函数的功能模块 通过@showtime来完成函数的功能追加 @showtime作用其实就是调用上面的闭包函数show_time 上面的函数都是不带参数的函数装饰器,那么如果调用的函数有参数,并且函数个数不确定呢,可以参考下面的例子: 如果装饰器中需要添加部分其他扩展的功能,可 阅读全文
posted @ 2019-09-25 10:44 测试的世界很精彩 阅读(170) 评论(0) 推荐(0) 编辑
摘要: 生成器都是迭代器,迭代器不一定是生成器 可迭代对象:list,tuple,dict,string,Iterable 什么是迭代器? 满足两个条件:1,有iter方法;2,有next方法 for循 环内部三件事 1,调用可迭代对象的iter方法,返回一个迭代器对象 2,不断调用迭代器对象的next方法 阅读全文
posted @ 2019-09-25 10:42 测试的世界很精彩 阅读(101) 评论(0) 推荐(0) 编辑
摘要: 1 import time 2 print(help(time)) 3 4 print(time.time())#1568622622.3269708获取当前时间 5 print(time.clock())#计算CPU执行时间 6 print(time.gmtime())#time.struct_time(tm_year=2019, tm_mon=9, tm_mday=16, tm_hour=7, 阅读全文
posted @ 2019-09-25 10:40 测试的世界很精彩 阅读(184) 评论(0) 推荐(0) 编辑
摘要: 1 import random 2 3 print(random.random()) 4 print(random.randint(1,15))#包括15 5 print(random.choice('hello python')) #随机选择某个字符 6 print(random.choice(['123',4,[1,2]])) 7 print(random.sample(['123',4,[1 阅读全文
posted @ 2019-09-25 10:39 测试的世界很精彩 阅读(246) 评论(0) 推荐(0) 编辑
摘要: 输出只有: WARNING:root:warning messageERROR:root:error messageCRITICAL:root:crititcal message默认输出上面三个级别的 可以设置日志级别: logging.basicConfig(level=logging.DEBUG 阅读全文
posted @ 2019-09-25 10:33 测试的世界很精彩 阅读(186) 评论(0) 推荐(0) 编辑
摘要: 1 a=set([1,2,3,4,5,6]) 2 b=set([4,5,6,7]) 3 # intersection 交集 4 #a和b的交集 5 print(a.intersection(b))#{4, 5, 6} 6 print(a & b)#{4, 5, 6} 7 8 # union 并集 9 print(a.union(b))#{1, 2, 3, 4, 5, 6,... 阅读全文
posted @ 2019-09-25 10:32 测试的世界很精彩 阅读(285) 评论(0) 推荐(0) 编辑