前言
本篇文章主要介绍了python的一些高级用法:时间和日期、列表推导式、Python高阶函数、多线程。
时间和日期
在python中,与时间处理相关的模块包括:time,datetime以及calendar,这里我主要说说time模块
首先,一些术语和约定的解释:
- 在Python中,通常有这几种方式表示时间:时间戳、格式化的时间字符串、元组(struct_time 共九种元素)。由于Python的time模块主要是调用C库实现的,所以在不同的平台可能会有所不同。
- 时间戳(timestamp)的方式:时间戳表示是从1970年1月1号 00:00:00开始到现在按秒计算的偏移量。查看一下type(time.time())的返回值类型,可以看出是float类型。返回时间戳的函数主要有time()、clock()等。
- UTC(世界协调时),就是格林威治天文时间,也是世界标准时间。在中国为UTC+8。DST夏令时。
- 元组方式:struct_time元组共有9个元素,返回struct_time的函数主要有gmtime(),localtime(),strptime()。
Python的时间函数处理时间为9个数字的元组,如下图所示:
例1:time()与gmtime方法以及可格式化时间显示的asctime()方法
例2:格式化日期,使用strftime方法
Python中时间日期格式化符号如下:
例3:time中一些实用方法
实例
列表推导式
[expr for iter_var in iterable if cond_expr] 直接举实例吧!
熟悉列表推导式可以简化很多代码,多练习就会有提高的
Python高阶函数
高阶函数是什么呢?其实就是函数调用函数
拓展:
-
内置高阶函 map():map函数有两个参数,前一个是函数,后一个是列表,返回值为对传入的列表每一个元素执行传入的函数操作得到的列表
这是为什么呢?查资料发现原来python3中需要这样写
2.内置高阶函数flter():函数用于过滤序列,过滤掉不符合条件的元素,返回由符合条件元素组成的新列表。
该接收两个参数,第一个为函数,第二个为序列,序列的每个元素作为参数传递给函数进行判断,然后返回 True 或 False,最后将返回 True 的元素放到新列表中
多线程
单线程
我们先来看看单线程
以下为一个单线程实例:
通过返回的时间我们可以看出程序按顺序一步一步运行。
接下来开始多线程:
Threading模块