time.sleep() 函数命名来源于英文单词time(时间)和sleep(睡眠)。
创新互联-专业网站定制、快速模板网站建设、高性价比枞阳网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式枞阳网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖枞阳地区。费用合理售后完善,十余年实体公司更值得信赖。
time 是python带的非内置库,使用时需要import,主要用于处理和时间相关的操作。
time.sleep用于给定时间内挂起(等待)当前线程的执行。
time.sleep() 函数的例子:
可以注释掉time.sleep(2)再运行一次对比一下
可以看到虽然都是打印出一样的结果,但time.sleep()加入了等待时间
这里还要解释一下python中线程与进程的区别。
举个例子,厨房做菜看成是一个进程,那么这个进程下面就可能有多个人或一个人(cpu基本执行单元,即线程)来执行,多个人可以分别洗菜,刷碗,摆盘等等同时作业,他们又是共享这个厨房的资源的。每个人存在一定的资源竞争关系,比如炉火只有1个。
这里time.sleep是针对线程执行的,也就是其中一个人去sleep睡觉了,不影响其他人的继续工作。
参数
该函数没有返回值。
结果类似如下:
可以看到秒数相差了5
无
time.sleep()常用于推迟执行的场景
在python中,与时间相关的模块有:time,datetime以及calendar
对基础运行环境有疑问的,推荐参考: python函数深入浅出 0.基础篇
函数定义def call_foo(*args, **kwds)中,*args称为可变位置参数,**kwds称为关键字参数。args是一个元组,它负责收集所有传递到call_foo函数中的可变位置参数;kwds是一个字典,它负责收集所有传递到call_foo函数中的关键字参数。例如用以下形式调用call_foo():
call_foo(1, 2, 'hello', m=None, n=[])
则call_foo函数中args元组的内容为(1, 2, 'hello'),kwds字典的内容为{'m': None, 'n': []}。
foo(*args, **kwds)则表示调用foo函数并将元组args和字典kwds的内容解包作为参数传入。接上面的例子,相当于调用foo(1, 2, 'hello', m=None, n=[])。
测试下就知道了
import time
time.clock()#第一次调用
time.sleep(1)
time.clock()#第二次调用
time.sleep(1)
time.clock()#第三次调用
time.sleep(2)
time.clock()#第四次调用
结果
3.6317464929201895e-06 这个是3.63..*10的负6次方单位秒
0.99971644440843743后面基本以这个为主了
1.9996628063063882
3.9996745396412114
这个时间看不懂吗,你只要看小数点后1 2 位就可以了,就是执行的时间而已,单位都是秒
Python代码分了好几个部分,想要看懂:
首先你要看引入了哪些模块,就是import 开头部分,这里看不懂模块的作用,那接下来就够呛;
然后就是常规的python语法和语句了,def函数用法,class类结构,各种循环判断结构基础。
总的来说,你需要知道python的基础语法作用,模块的话太多了,英语水平好些的猜一下还可能能猜出来,英语不好的就网络上查吧;学习好需要用的模块。
完全自己造轮子的另说。
key 接受一个callable的对象,说白也就是一个函数,sort方法会把list的每一个元素传给key指向的函数,根据该函数返回的值对list的每个元素行进行排序,此处list的元素为list的每一行。
lambda x: x[sortI - 1] 是一个匿名函数,相当于 def 某某函数(x): return x[sortI - 1],此处装逼节约空间用lambda定义这个函数。也就是说你完全可以单独定义一个函数然后 (key=这个你定义的函数名)(函数名不加括号)。注意你定义的这个函数必须接受一个参数并且返回一个参数。
get方法的第二个参数是默认值。
当dict中不存在指定的key时,不返回None,而是返回指定的默认值。