深入python函数 函数 python( 二 )


time.sleep用于给定时间内挂起(等待)当前线程的执行 。
time.sleep() 函数的例子:
可以注释掉time.sleep(2)再运行一次对比一下
可以看到虽然都是打印出一样的结果,但time.sleep()加入了等待时间
这里还要解释一下python中线程与进程的区别 。
举个例子,厨房做菜看成是一个进程 , 那么这个进程下面就可能有多个人或一个人(cpu基本执行单元,即线程)来执行,多个人可以分别洗菜,刷碗,摆盘等等同时作业,他们又是共享这个厨房的资源的 。每个人存在一定的资源竞争关系,比如炉火只有1个 。
这里time.sleep是针对线程执行的,也就是其中一个人去sleep睡觉了 , 不影响其他人的继续工作 。
参数
该函数没有返回值 。
结果类似如下:
可以看到秒数相差了5

time.sleep()常用于推迟执行的场景
在python中,与时间相关的模块有:time , datetime以及calendar
对基础运行环境有疑问的,推荐参考: python函数深入浅出 0.基础篇
深入理解Python reduce函数 例如上面的例子,实现一个整形集合的累加 。假设lst = [1,2,3,4,5],实现累加的方式有很多:
第一种:用sum函数 。
sum(lst)
第二种:循环方式 。
def customer_sum(lst):
result = 0
for x in lst:
result+=x
return result
def customer_sum(lst):
result = 0
while lst:
temp = lst.pop(0)
result+=temp
return result
ifname ==" main ":
lst = [1,2,3,4,5]
print customer_sum(lst)
第三种:递推求和
def add(lst,result):
if lst:
temp = lst.pop(0)
temp+=result
return add(lst,temp)
else:
return result
ifname ==" main ":
lst = [1,2,3,4,5]
print add(lst,0)
第四种:reduce方式
lst = [1,2,3,4,5]
print reduce(lambda x,y:x+y,lst)
lst = [1,2,3,4,5]
print reduce(lambda x,y:x+y,lst,0)
def add(x,y):
return x+y
print reduce(add, lst)
def add(x,y):
return x+y
print reduce(add, lst,0)
有一个序列集合 , 例如[1,1,2,3,2,3,3,5,6,7,7,6,5,5,5],统计这个集合所有键的重复个数,例如1出现了两次 , 2出现了两次等 。大致的思路就是用字典存储,元素就是字典的key,出现的次数就是字典的value 。方法依然很多
第一种:for循环判断
def statistics(lst):
dic = {}
for k in lst:
if not k in dic:
dic[k] = 1
else:
dic[k] +=1
return dic
lst = [1,1,2,3,2,3,3,5,6,7,7,6,5,5,5]
print(statistics(lst))
第二种:比较取巧的,先把列表用set方式去重,然后用列表的count方法
def statistics2(lst):
m = set(lst)
dic = {}
for x in m:
dic[x] = lst.count(x)
lst = [1,1,2,3,2,3,3,5,6,7,7,6,5,5,5]
print statistics2(lst)
第三种:用reduce方式
def statistics(dic,k):
if not k in dic:
dic[k] = 1
else:
dic[k] +=1
return dic
lst = [1,1,2,3,2,3,3,5,6,7,7,6,5,5,5]
print reduce(statistics,lst,{})
或者
d = {}
d.extend(lst)
print reduce(statistics,d)
通过上面的例子发现,凡是要对一个集合进行操作的,并且要有一个统计结果的,能够用循环或者递归方式解决的问题 , 一般情况下都可以用reduce方式实现 。
【深入python函数 函数 python】深入python函数的介绍就聊到这里吧,感谢你花时间阅读本站内容 , 更多关于函数 python、深入python函数的信息别忘了在本站进行查找喔 。

推荐阅读