Python学习之时间包使用教程详解

目录
  • datetime 时间包
    • datetime 时间包的常用功能
    • 时间对象转字符串
    • 时间字符串转时间类型
    • 时间格式符
  • time模块
    • 认识时间戳
    • time 模块的常用方法
  • datetime 中生成时间戳的函数
  • datetime 时间戳转时间对象

datetime 时间包

认识 datetime 时间包:

  • date:日期;time:时间;所以 datetime 就是 日期与时间的结合体
  • 使用 datetime 我们就可以获取当前的时间与时间间隔
  • 可以将时间对象转成时间字符串
  • 也可以将字符串转成时间类型(把字符串转成时间对象也是有格式要求的)

datetime 时间包的常用功能

获取当前的时间

# 导入包与模块

# 第一种导入方法:
from datetime import datetime	# 第一个 datetime 是包 ;第二个 datetime 是模块

# 第二种导入方法:
import datetime 	# 直接导入 datetime 包

# *************************************************************************

# 使用方法:

# 如果我们使用第一种导入方法,那么我们就可以直接通过 datetime 模块调用 now() 函数:
print(datetime.now())

# >>> 执行结果如下:
# >>> 2020-01-16 14:20:19.534920
# >>> 返回的是当前 年、月、日、时、分、秒、毫秒的 datetime 对象

# 如果我们使用第二种导入方法,那么我们就需要 datetime.datetime.now() 的方式来调用now() 函数:
print(datetime.datetime.now())

# >>> 执行结果如下:
# >>> 2020-01-16 14:22:11.534920
# >>> 返回的是当前 年、月、日、时、分、秒、毫秒的 datetime 对象

获取时间间隔

其实获取时间间隔本身没有什么用,它需要配合我们刚刚提到的 datetime 模块的 now() 函数来配合使用。

# 导入包
from datetime import datetime
from datetime import timedelta	

# 这里需要注意:timedelta 并不是模块,而是一个函数;
# 至于为什么不是模块,我们不进行深究;可以猜测一下, timedelta 可能是写在 datetime 包下 __init__.py 文件内被提前导入的函数

# 使用方法:
timeobj = timedelta(days=0, seconds=0, microseconds=0, milliseconds=0, minutes=0, hours=0, weeks=0)

# days:间隔的天数
# seconds:间隔的秒数
# microseconds:间隔的毫秒数
# milliseconds:间隔的微秒数
# minutes:间隔的分钟数
# hours:间隔的小时数
# weeks:间隔的周数

# 这些参数我们可以全部传,也可以只传一个;像间隔一天、两天这种情况,我们就可以使用 hours 或 days
# 传入类型为 整型 ,支持整数与负数,一般我们建议使用正数。

datetime 时间包的小案例

结合获取当前时间与间隔,我们看一下下面这个小案例:

from datetime import datetime
from datetime import timedelta

now = datetime.now()
print(now, type(now))

# >>> 执行结果如下:
# >>> 2020-01-16 15:04:00.492240 <class 'datetime.datetime'>

three_days = timedelta(days=3)
after_three_days = now + three_days
print('三天之后的时间是:', after_three_days)

# >>> 执行结果如下:
# >>> 三天之后的时间是: 2020-01-16 15:04:00.492240	

before_three_days = now - three_days
print('三天之前的时间是:', after_three_days)

# >>> 执行结果如下:
# >>> 三天之前的时间是: 2020-01-16 15:04:00.492240

one_hour = timedelta(hours=1)
before_one_hour = now - one_hour
print('一小时之前的时间是:', before_one_hour)

# >>> 执行结果如下:
# >>> 一小时之前的时间是: 2020-01-16 14:04:00.492240

通过上面的小案例我们知道,时间对象之间我们可以做 加法与减法 的操作,但是时间对象有个问题。

它无法进行时间对象之间的传输,比如A服务想要给B服务传输一个时间对象,但是时间对象是无法传输的,必须先要转成字符串,然后才可以进行传输,接下来我们就学习一下如何将时间对象转成字符串。

时间对象转字符串

上文我们知道,想要获取时间对象就要调用 datetime 模块的 now() 函数,并且执行获取一个时间对象。

然后赋值给一个 now 变量,now 变量的值作为一个时间对象也会有自己的内置函数。

通过调用内置函数 strftime() 【strftime 是一个格式化字符串的标准】,通过这个字符化的标准就可以通过 format 将当前的日期时间对象按照 format 的标准转为时间字符串。

用法如下:

# 获取时间对象
from datetime import datetime
now = datetime.datetime.now()

# 时间对象转为字符串
date_str = now.strftime(format)

示例如下:

from datetime import datetime

date = datetime.now()

str_date = date.strftime('%Y-%m-%d %H:%M:%S')	# 括号内为时间类型的格式化标准的字符集合
print(str_date)

# >>> 执行结果如下:
# >>> 2020-01-16 15:44:26		# 符合时间格式的字符串
# >>> 其实还有更多的时间格式符,在下面会有详细介绍

接下来,我们用上面的 datetime 时间包的小案例 来实现我们的 时间对象转字符串 场景

from datetime import datetime
from datetime import timedelta

now = datetime.now()
# print(now, type(now))
now_str = now.strftime('%Y-%m-%d %H:%M:%S')
print(now_str, type(now_str))

# >>> 执行结果如下:
# >>> 2020-01-16 16:14:15 <class 'str'>		时间对象已经按照strftime标准格式化成了字符串类型

three_days = timedelta(days=3)
after_three_days = now + three_days
# print('三天之后的时间是:', after_three_days)
after_three_days_str = after_three_days.strftime('%Y/%m/%d %H:%M:%S')
print(after_three_days_str, type(after_three_days_str))

# >>> 执行结果如下:
# >>> 2020/01/16 16:19:35 <class 'str'>
# >>> 通过这里我们发现,只要我们只要保证格式符是我们想要的属性,格式的状态我们可以自己去定义
# >>> 甚至这些 '/' 都可以不需要,看下面的运行结果

after_three_days_str = after_three_days.strftime('%Y%m%d')
print(after_three_days_str, type(after_three_days_str))

# >>> 执行结果如下:
# >>> 20220313 <class 'str'>
# >>> 验证了格式的状态我们可以自己去定义的想法,甚至我们都没有输出 时、分、秒

时间字符串转时间类型

时间字符串转时间类型方法如下:

# 获取时间模块
from datetime import datetime

# 时间字符串转时间类型
datetime.strptime(tt,format)

# 参数介绍:
# tt:符合时间格式的字符串
# format:tt时间字符串匹配规则

示例如下:

from datetime import datetime

str_date = '2020-01-01 08:08:08'
date_obj = datetime.strptime(str_date, '%Y-%m-%d %H:%M:%S')	# 格式化标准要与时间字符串匹配

print(date_obj, type(date_obj))

# >>> 执行结果如下:
# >>> 2020-01-01 08:08:08 <class 'datetime.datetime'>

同样的使用 datetime 时间包的小案例 来实现我们的 时间字符串转时间类型 场景

from datetime import datetime
from datetime import timedelta

now = datetime.now()
# print(now, type(now))
now_str = now.strftime('%Y-%m-%d %H:%M:%S')
# print(now_str, type(now_str))
now_obj = datetime.strptime(now_str, '%Y-%m-%d %H:%M:%S')
print(now_obj, type(now_obj))

# >>> 执行结果如下:
# >>> 2020-01-10 18:00:54 <class 'datetime.datetime'>

上面我们进行 时间对象转字符串的时候,将时间对象的 '%Y-%m-%d %H:%M:%S' 格式进行了取舍,只输出了 '%Y-%m-%d' ; 这我们尝试 时间字符串转为时间类型 同样做一个取舍试一下,也只保留 '%Y-%m-%d

from datetime import datetime
from datetime import timedelta

now = datetime.now()

three_days = timedelta(days=3)
after_three_days = now + three_days
# print('三天之后的时间是:', after_three_days)
after_three_days_str = after_three_days.strftime('%Y/%m/%d %H:%M:%S')
# print(after_three_days_str, type(after_three_days_str))

after_three_days_obj = datetime.strptime(after_three_days_str, '%Y/%m/%d')
print(after_three_days_obj, type(after_three_days_obj))

# >>> 执行结果如下:
# >>> ValueError: time data '2020/01/13 18:22:19' does not match format '%Y%m%d'
# >>> 这里提示我们 格式符 与 字符串 不匹配,所以当时间字符串转为时间类型时,格式状态要保持一致

# 补上 时、分、秒 看看运行结果

after_three_days_obj = datetime.strptime(after_three_days_str, '%Y/%m/%d %H:%M:%S')
print(after_three_days_obj, type(after_three_days_obj))

# >>> 执行结果如下:
# >>> 2020-01-13 18:26:58 <class 'datetime.datetime'>

接下来我们再看看被我们 使用 '%Y/%m/%d' 截断的 时间类型转为字符串,再转为时间类型会是怎样的输出结果。

from datetime import datetime
from datetime import timedelta

now = datetime.now()

three_days = timedelta(days=3)
before_three_days = now - three_days
# print('三天之前的时间是:', after_three_days)
before_three_days_str = before_three_days.strftime('%Y%m%d')
# print(before_three_days_str, type(before_three_days_str))
before_three_days_obj = datetime.strptime(before_three_days_str, '%Y%m%d')
print(before_three_days_obj, type(before_three_days_obj))

# >>> 执行结果如下:
# >>> 2020-01-13 00:00:00 <class 'datetime.datetime'>
# >>> 这里我们发现,时间类型转为字符串,再转为时间类型,由于使用 '%Y/%m/%d' 截断转为字符串的原因
# >>> 在再次转为 时间类型 后,它的输出结果的 时、分、秒 部分变成了 00:00:00

非时间格式字符串转时间类型

我们直接定义一个 非时间格式的字符串,尝试转为 时间类型 看看会有怎样的结果

from datetime import datetime
from datetime import timedelta

date_time = '2020 01 A'
print(datetime.strptime(date_time, '%Y %m'))

# >>> 执行结果如下:
# >>> ValueError: unconverted data remains:  A
# >>> 这里报错信息为:不知道 A 对应的格式是什么,字符串格式中,我们也没有对 A 使用格式化方法;
# >>> 同时,date_time 也是一个非标准的时间格式字符串,我们没有办法对其进行时间格式的转换

时间格式符

字符 介绍
%Y 完成的年份 如2020
%m 月份, 1-12
%d 月的某一天,1-31
%H 一天中的第几个小时,24小时(00-23)
%I 一天中的第几个小时,12小时(01-12)
%M 当前的第几分钟(00-59)
%S 当前分的第几秒(00-61) 多出来的两秒是闰年的
%f  当前秒的第几毫秒
%a 简化的星期,如Wed
%A 完整的星期,如Wednesday
%b 简化的月份,如二月 Feb
%B 完整的月份,如二月 February
%c  本地的日期和时间,如 Wed Feb 5 10:14:30 2020
%p  上午或下午;AM 为上午 ,PM为下午
%j 一年中的第几天
%U 一年中的星期数

time模块

在上文我们学习 python 中第一个内置包 datetime (日期时间包),学习了如何使用 datetime 如何获取当前的日期对象以及日期对象与日期字符串之间的互相转换。

接下来我们学习一下 python 中的 第一个内置模块,它也是用来处理时间的,那就是 time 模块。学会使用 time 模块,可以丰满我们对时间的处理。

认识时间戳

什么是时间戳?其实时间戳就是时间,只不过他的起始时间有所不同。

  • 时间戳是从 1970年1月1日00时00分00秒至今的总毫秒(秒)数 ;Python 默认是按秒来计算时间戳的。
  • 在 python 中,用 timestamp 来表示时间戳
  • 在 python 中,时间戳 是一个 float 类型。我们使用 datetime 获取时间对象是可以看到 年月日、时分秒的;而时间戳展示给我们是从 1970年1月1日00时00分00秒至今的秒数(时间戳可以转成我们可读的 年月日、时分秒格式,我们稍后就会学习如何使用)。
  • time 模块的总体功能就是为了处理时间与转换格式

time 模块与它的函数们:

1.时间处理,转换成时间格式

2.time 函数 ,生成时间戳数

3.localtime 函数,获取本地时间函数

localtime 函数 需要了解对应的字段介绍

4.sleep 函数 ,暂停/休眠/等待

5.strftime 函数,将时间对象转为字符串

6.strptime 函数,将时间字符串转为时间对象

time 模块的常用方法

# 导入包;
import time

# 使用方法:
time.time()

# 返回值:
# 秒级别的浮点类型

# 示例:
# 1580878485.4009378

注意:每个语言返回的时间戳格式都不太一样,有的是返回秒级别,有的是返回毫秒级别。无论哪一种,时间都是一样的,只是 秒 与 毫秒 之间的转换而已。

获取本地时间函数 - localtime

# 导入包;
import time

# 使用方法:
time.localtime(timestamp)

# 参数介绍:
# timestamp:可以传入一个时间戳,传入后 localtime() 函数会将传入的时间戳转为 时间对象。
# 可以不传入,如果不传入时间戳;会默认返回当前最新的时间对象。

示例如下:

import time

test_time = time.localtime()

print(test_time)

# >>> 执行结果如下:
# >>> time.struct_time(tm_year=2022, tm_mon=3, tm_mday=11, tm_hour=13, tm_min=33, tm_sec=52, tm_wday=4, tm_yday=70, tm_isdst=0)
# >>> 输出的是 localtime 字段信息

localtime 对应字段信息介绍

属性名 介绍 取值范围
tm_year 四位数的年单位 1970~∞
tm_mon 1~12
tm_mday 1~31
tm_hour 小时 0~23
tm_min 分钟 0~59
tm_sec 0~61(闰年会多两秒)
tm_wday 一周的第几天 0~6(0是周一)
tm_yday 一年的第几日 1~366(支持儒略历,现用的是格里历即公历)
tm_isdst  夏令时 -1 或 0 ;1 代表是否是夏时令

来看一下 localtime 函数 的小案例

import time

test_time = time.time()
test_time_obj = time.localtime(test_time)

print(test_time_obj, type(test_time_obj))

# >>> 执行结果如下:
# >>> 1578898063.2553177
# >>> time.struct_time(tm_year=2020, tm_mon=1, tm_mday=13, tm_hour=14, tm_min=46, tm_sec=44, tm_wday=4, tm_yday=70, tm_isdst=0) <class 'time.struct_time'>

# >>> 通过这样的方式,就可以将我们的时间戳转为 time.struct_time 的时间对象,可读性会变得很好

上文我们提到过,localtime() 函数内可以不传入参数,获取的是当前最新的时间对象。我们也来看一下:

import time

current_time = time.localtime()
print(current_time)

# >>> 执行结果如下:
# >>> time.struct_time(tm_year=2022, tm_mon=1, tm_mday=13, tm_hour=14, tm_min=57, tm_sec=47, tm_wday=4, tm_yday=70, tm_isdst=0)

刚刚提到过,我们的 python 获取的是秒级别的时间戳,如果我们想要获取 毫秒 级别的时间戳要怎么办?其实很签单,我们只需要需要将获取的时间戳 *1000(乘以1000就可以了)就可以获取 毫秒级 的时间戳了。

import time

print(time.time())
print(time.time() * 1000)

# >>> 执行结果如下:
# >>> 1646982476.7887278
# >>> 1646982476788.7278

# >>> 上下比对一下,发现我们的 秒级别 时间戳已经变为了 毫秒级 的时间戳了

暂停函数 - sleep

sleep():名如其实,该函数会将我们的程序暂停执行一段时间。

# 导入包;
import time

# 使用方法:
time.sleep(second)

# 参数介绍:
# second:希望程序被暂停执行的秒数

示例如下:

import time

for i in range(5):
    print(i)
    time.sleep(1)

# >>> 大家可以在自己电脑上试试运行效果

time 中的 strftime

# 导入包;
import time

# 使用方法:
time.strftime(format, t)

# 参数介绍:
# format:时间的格式化规范
# t:time.localtime 对应的时间类型

# >>> 其实用法与前文介绍的 datetime 的 strftime 完全一致,只不过对应的对象是 time 的时间对象

示例如下:

import time

str_time = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime())
print(str_time)

# >>> 执行结果如下:
# >>> 2020-01-13 16:22:21

time 中的 strptime

# 导入包;
import time

# 使用方法:
time.strptime(time_str, format)

# 参数介绍:
# time_str:符合时间格式的字符串
# format:确保与 time_str 一致的格式化标准(字符串的内容都都可以通过 时间格式符 匹配上)

示例如下:

import time

obj_time = time.strptime('2020-01-13', '%Y-%m-%d')
print(obj_time)

# >>> 执行结果如下:
# >>> time.struct_time(tm_year=2020, tm_mon=1, tm_mday=13, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=0, tm_yday=13, tm_isdst=-1)

datetime 中生成时间戳的函数

前文我们在讲解 datetime 包的时候,并没有讲解如何使用 datetime 中生成时间戳,现在顺着 时间戳部分一起带出来。

# 导入包;
import datetime

# 使用方法:
now = datetime.datetime.now()
datetime.datetime.timestamp(now)
# 不同于 time 模块的 time 函数 的生成 时间戳
# 而是将一个 datetime 对象 转为时间戳,所以括弧中不传入参数是会报错的。

# 参数介绍:
# now:datetime 的时间对象

示例如下:

import datetime

now = datetime.datetime.now()
now_timestamp = datetime.datetime.timestamp(now)

print(now_timestamp, type(now_timestamp))

# >>> 执行结果如下:
# >>> 1642067213.882046 <class 'float'>			秒级别的时间戳,浮点类型

datetime 时间戳转时间对象

# 导入包;
import datetime

# 使用方法:
datetime.datetime.fromtimestamp(timestamp)

# 参数介绍:
# timestamp:时间戳

# 返回值:
# 返回一个 datetimes 的日期对象

示例如下:

import datetime

now = datetime.datetime.now()
now_timestamp = datetime.datetime.timestamp(now)

datetime_obj = datetime.datetime.fromtimestamp(now_timestamp)

print(datetime_obj, type(datetime_obj))

# >>> 执行结果如下:
# >>> 2020-01-13 17:43:08.795082  <class 'datetime.datetime'>

可能大家会有个疑问,既然 datetime 包 与 time 模块的功能很多都是一样的,那么为什么会有这两个包和模块的存在呢?

其实,在实际工作中 datetime 包更多的是对于日期的处理;而 time 模块更多的则是对时间的处理,比如 时、分、秒 这样的格式,使用 time 模块来处理会更合适一些。

到此这篇关于Python学习之时间包使用教程详解的文章就介绍到这了,更多相关Python时间包内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • 浅谈Python中用datetime包进行对时间的一些操作

    1. 计算给出两个时间之间的时间差 import datetime as dt # current time cur_time = dt.datetime.today() # one day pre_time = dt.date(2016, 5, 20) # eg: 2016.5.20 delta = cur_time - pre_time # if you want to get discrepancy in days print delta.days # if you want to get

  • python sys,os,time模块的使用(包括时间格式的各种转换)

    sys模块 sys.argv: 实现从程序外部向程序传递参数. 位置参数argv[0]代表py文件本身,运行方法 python xx.py 参数1,参数2 .. self = sys.argv[0] name = sys.argv[1] age = sys.argv[2] print self, name, age sys.getdefaultencoding(): 获取系统当前编码,一般默认为ascii. print sys.getdefaultencoding() sys.setdefaul

  • 关于Python 中的时间处理包datetime和arrow的方法详解

    在获取贝壳分的时候用到了时间处理函数,想要获取上个月时间包括年.月.日等 # 方法一: today = datetime.date.today() # 1. 获取「今天」 first = today.replace(day=1) # 2. 获取当前月的第一天 last_month = first - datetime.timedelta(days=1) # 3. 减一天,得到上个月的最后一天 print(last_month.strftime("%Y%m")) # 4. 格式化成指定形

  • python中time包实例详解

    在python中基础的时间运用,离不开time函数的支持.这些函数为了方便调用集中放在一个地方,叫做time包.有的人会仔细追寻time包的来源,会发现它和C语言有密不可分的关系.下面我们简单介绍time包的概念,然后就包中的一些函数进行列举,并附上对应的使用方法. 1.概念 time包基于C语言的库函数(library functions).Python的解释器通常是用C编写的,Python的一些函数也会直接调用C语言的库函数. 2.time包中的函数 time.clock()返回程序运行的整

  • Python datetime包函数简单介绍

    一.datetime包(上接连载7内容) 1.函数:datetime (1)用法:输入一个日期,来返回一个datetime类​ (2)格式:datetime.datetime(年,月,日,hour=,minute=,second=) 其中hour,minute,second可选 (3)附加类方法: today():返回本地当前时间 now():返回本地当前时间 utcnow():返回本地当前时间 fromtimestamp(时间戳):返回时间戳的本地时间 dt = datetime.dateti

  • Python中的datetime包与time包包和模块详情

    目录 一.datetime包 1.timedelta(params…)得到一个时间增量对象 2.timezone(timedelta)+timedelta(params…)创建时区对象 3.datetime模块 datetime.strftime(fmt)datetime时间对象转字符串 datetime.strptime(date_string,fmt)字符串转成datetime时间对象 datetime.timestamp(datetime_obj)将datetime时间对象转换成秒级时间戳

  • Python学习之时间包使用教程详解

    目录 datetime 时间包 datetime 时间包的常用功能 时间对象转字符串 时间字符串转时间类型 时间格式符 time模块 认识时间戳 time 模块的常用方法 datetime 中生成时间戳的函数 datetime 时间戳转时间对象 datetime 时间包 认识 datetime 时间包: date:日期:time:时间:所以 datetime 就是 日期与时间的结合体 使用 datetime 我们就可以获取当前的时间与时间间隔 可以将时间对象转成时间字符串 也可以将字符串转成时间

  • Python学习之os包使用教程详解

    目录 os 模块 文件与目录函数介绍 path 模块 ​path 模块常用方法 今天我们来学习一下 python 的内置包 —> OS 包.OS 包拥有着普遍的操作系统功能,拥有着各种各样的函数来操作系统的驱动功能.其中最常用的就是对 路径 与 文件的操作,比如检查某个路径下是否存在某个文件,某个路径是否存在等.也可以创建.删除文件等,接下来我们就详细的看一看 OS 中关于文件的操作功能与用法. os 模块 文件与目录函数介绍 函数名 参数 介绍 举例  返回值 getcwd 没有参数 返回当前

  • Python学习之sys模块使用教程详解

    sys模块 与 os包一样,也是对系统资源进行调用.功能同样也是非常丰富,接下来我们会对 sys模块的一些简单且常用的函数进行介绍,主要针对一些非功能性的函数与属性来认识一些不太常见的 Python 背后的事件. sys 中的常用方法 函数名 参数 介绍 举例 返回值 modules(属性) 无 将Python启动时加载的模块集合起来并返回一个列表 sys.modules 列表 path(属性) 无 返回当前Py的环境路径(当前py环境可以导入内置.第三方包与函数的所在路径) sys.path

  • Python OpenCV实现识别信用卡号教程详解

    目录 通过与 OpenCV 模板匹配的 OCR 信用卡 OCR 结果 总结 今天的博文分为三个部分. 在第一部分中,我们将讨论 OCR-A 字体,这是一种专为辅助光学字符识别算法而创建的字体. 然后我们将设计一种计算机视觉和图像处理算法,它可以: 本地化信用卡上的四组四位数字. 提取这四个分组中的每一个,然后单独分割 16 个数字中的每一个. 使用模板匹配和 OCR-A 字体识别 16 个信用卡数字中的每一个. 最后,我们将看一些将信用卡 OCR 算法应用于实际图像的示例. 通过与 OpenCV

  • Python学习之yaml文件的读取详解

    目录 yaml 文件的应用场景与格式介绍 yaml 文件的应用场景 yaml 文件的格式 第三方包 - pyyaml 读取 yaml 文件的方法 yaml文件读取演示案例 yaml 文件的应用场景与格式介绍 yaml 文件的应用场景 yaml其实也类似于 json.txt ,它们都属于一种文本格式.在我们的实际工作中, yaml 文件经常作为服务期配置文件来使用. 比如一些定义好的内容,并且不会修改的信息,我们就可以通过定义 yaml 文件,然后通过读取这样的文件,将数据导入到我们的服务中进行使

  • Python爬虫库urllib的使用教程详解

    目录 Python urllib库 urllib.request模块 urlopen函数 Request 类 urllib.error模块 URLError 示例 HTTPError示例 URLError和HTTPError混合使用 urllib.parse模块 urlparse() urlunparse() urlsplit() urljoin() URL 转码 编码quote(string) 编码urlencode() 解码 unquote(string) urllib.robotparse

  • Python中itertools模块的使用教程详解

    目录 itertools模块的介绍 无限迭代器(Infinite Iterators) 组合迭代器(Combinatoric Iterators) 有限迭代器(Iterators Terminating on the Shortest Input Sequence) itertools模块的介绍 在Python中,迭代器(Iterator)是常用来做惰性序列的对象,只有当迭代到某个值的时候,才会进行计算得出这个值.因此,迭代器可以用来存储无限大的序列,这样我们就不用把他一次性放在内存中,而只在需

  • Python+pyecharts绘制双动态曲线教程详解

    总体跟官方样例相似,但是官方样例因为部分代码有误无法运行,同时需要了解json,以及前后端知识需要一些时间,因此供大家参考. 这个是views def line_base() -> Line: line = ( Line() .add_xaxis(list(range(10))) .add_yaxis(series_name="专注度", y_axis=[randrange(0, 100) for _ in range(10)],areastyle_opts=opts.AreaS

  • Python生成二维码的教程详解

    目录 交代背景 pyqrcode 实现二维码 qrcode 实现二维码 MyQR 实现二维码 Amazing-QR 实现二维码 交代背景 作为一名合格的 Python 程序员,在工作中必然会用到二维码相关操作,那如何快速的用 Python 实现呢?别着急,咱们这篇博客就为你解决. 文章会为大家带来最常见,最简单,最实用的 4 种 Python 二维码生成方式. pyqrcode 实现二维码 上来为你展示的就是一款第三方二维码模块,开源高效才是当今编码界的主流. pyqrcode 是一款 老牌 二

  • Go语言学习之context包的用法详解

    目录 前言 需求一 需求二 Context 接口 emptyCtx valueCtx 类型定义 WithValue cancelCtx 类型定义 cancelCtx WithCancel timerCtx 类型定义 WithDeadline WithTimeout 总结 前言 日常 Go 开发中,Context 包是用的最多的一个了,几乎所有函数的第一个参数都是 ctx,那么我们为什么要传递 Context 呢,Context 又有哪些用法,底层实现是如何呢?相信你也一定会有探索的欲望,那么就跟

随机推荐