首页 后端开发 Python教程 Python之日期与时间处理模块(date和datetime)

Python之日期与时间处理模块(date和datetime)

Feb 20, 2017 am 10:10 AM

前言

在开发工作中,我们经常需要用到日期与时间,如:

  • 作为日志信息的内容输出

  • 计算某个功能的执行时间

  • 用日期命名一个日志文件的名称

  • 记录或展示某文章的发布或修改时间

  • 其他

Python中提供了多个用于对日期和时间进行操作的内置模块:time模块、datetime模块和calendar模块。其中time模块是通过调用C库实现的,所以有些方法在某些平台上可能无法调用,但是其提供的大部分接口与C标准库time.h基本一致。time模块相比,datetime模块提供的接口更直观、易用,功能也更加强大。

一、相关术语的解释

  • UTC time Coordinated Universal Time,世界协调时,又称 格林尼治天文时间、世界标准时间。与UTC time对应的是各个时区的local time,东N区的时间比UTC时间早N个小时,因此UTC time + N小时 即为东N区的本地时间;而西N区时间比UTC时间晚N个小时,即 UTC time - N小时 即为西N区的本地时间; 中国在东8区,因此比UTC时间早8小时,可以以UTC+8进行表示。

  • epoch time 表示时间开始的起点;它是一个特定的时间,不同平台上这个时间点的值不太相同,对于Unix而言,epoch time为 1970-01-01 00:00:00 UTC。

  • timestamp(时间戳) 也称为Unix时间 或 POSIX时间;它是一种时间表示方式,表示从格林尼治时间1970年1月1日0时0分0秒开始到现在所经过的毫秒数,其值为float类型。 但是有些编程语言的相关方法返回的是秒数(Python就是这样),这个需要看方法的文档说明。需要说明的是时间戳是个差值,其值与时区无关。

二、时间的表现形式

常见的时间表示形式为:

  • 时间戳

  • 格式化的时间字符串

Python中还有其它的时间表示形式:

  • time模块的time.struct_time

  • datetime模块的datetime类

关于datetime模块的datetime类会在下面做详细讲解,这里简单说下time.struct_time。

time.struct_time包含如下属性:


下标/索引 属性名称 描述
0 tm_year 年份,如 2017
1 tm_mon 月份,取值范围为[1, 12]
2 tm_mday 一个月中的第几天,取值范围为[1-31]
3 tm_hour 小时, 取值范围为[0-23]
4 tm_min 分钟,取值范围为[0, 59]
5 tm_sec 秒,取值范围为[0, 61]
6 tm_wday 一个星期中的第几天,取值范围为[0-6],0表示星期一
7 tm_yday 一年中的第几天,取值范围为[1, 366]
8 tm_isdst 是否为夏令时,可取值为:0 , 1 或 -1

属性值的获取方式有两种:

  • 可以把它当做一种特殊的有序不可变序列通过 下标/索引 获取各个元素的值,如t[0]

  • 也可以通过 .属性名 的方式来获取各个元素的值,如t.tm_year。

需要说明的是struct_time实例的各个属性都是只读的,不可修改。

三、 time模块

time模块主要用于时间访问和转换,这个模块提供了各种与时间相关的函数。

1. 函数列表


方法/属性 描述
time.altzone 返回与utc时间的时间差,以秒为单位(西区该值为正,东区该值为负)。其表示的是本地DST 时区的偏移量,只有daylight非0时才使用。
time.clock() 返回当前进程所消耗的处理器运行时间秒数(不包括sleep时间),值为小数;该方法Python3.3改成了time.process_time()
time.asctime([t]) 将一个tuple或struct_time形式的时间(可以通过gmtime()和localtime()方法获取)转换为一个24个字符的时间字符串,格式为: "Fri Aug 19 11:14:16 2016"。如果参数t未提供,则取localtime()的返回值作为参数。
time.ctime([secs]) 功能同上,将一个秒数时间戳表示的时间转换为一个表示当前本地时间的字符串。如果参数secs没有提供或值为None,则取time()方法的返回值作为默认值。ctime(secs)等价于asctime(localtime(secs))
time.time() 返回时间戳(自1970-1-1 0:00:00 至今所经历的秒数)
time.localtime([secs]) 返回以指定时间戳对应的本地时间的 struct_time对象(可以通过下标,也可以通过 .属性名 的方式来引用内部属性)格式
time.localtime(time.time() + n*3600) 返回n个小时后本地时间的 struct_time对象格式(可以用来实现类似crontab的功能)
time.gmtime([secs]) 返回指定时间戳对应的utc时间的 struct_time对象格式(与当前本地时间差8个小时)
time.gmtime(time.time() + n*3600) 返回n个小时后utc时间的 struct_time对象(可以通过 .属性名 的方式来引用内部属性)格式
time.strptime(time_str, time_format_str) 将时间字符串转换为struct_time时间对象,如:time.strptime('2017-01-13 17:07', '%Y-%m-%d %H:%M')
time.mktime(struct_time_instance) 将struct_time对象实例转换成时间戳
time.strftime(time_format_str, struct_time_instance) 将struct_time对象实例转换成字符串

2. 练习

获取时间戳格式的时间

>>> time.time()
1486188022.862
登录后复制

获取struct_time格式的时间

>>> time.localtime()
time.struct_time(tm_year=2017, tm_mon=2, tm_mday=4, tm_hour=14, tm_min=2, tm_sec=34, tm_wday=5, tm_yday=35, tm_isdst=0)
>>> time.gmtime()
time.struct_time(tm_year=2017, tm_mon=2, tm_mday=4, tm_hour=6, tm_min=2, tm_sec=56, tm_wday=5, tm_yday=35, tm_isdst=0)
登录后复制

获取字符串格式的时间

>>> time.ctime()
'Sat Feb 04 14:06:42 2017'
>>> time.asctime()
'Sat Feb 04 14:06:47 2017'
登录后复制

时间戳格式转struct_time格式时间

>>> t1 = time.time()
>>> print(t1)
1486188476.9
>>> t2 = time.localtime(t1)
>>> print(t2)
time.struct_time(tm_year=2017, tm_mon=2, tm_mday=4, tm_hour=14, tm_min=7, tm_sec=56, tm_wday=5, tm_yday=35, tm_isdst=0)
>>> t3 = time.gmtime(t1)
>>> print(t3)
time.struct_time(tm_year=2017, tm_mon=2, tm_mday=4, tm_hour=6, tm_min=7, tm_sec=56, tm_wday=5, tm_yday=35, tm_isdst=0)
>>>
登录后复制

字符串格式转struct_time格式时间

>>> time.strptime('Sat Feb 04 14:06:42 2017')
time.struct_time(tm_year=2017, tm_mon=2, tm_mday=4, tm_hour=14, tm_min=6, tm_sec=42, tm_wday=5, tm_yday=35, tm_isdst=-1)
>>> time.strptime('Sat Feb 04 14:06:42 2017', '%a %b %d %H:%M:%S %Y')
time.struct_time(tm_year=2017, tm_mon=2, tm_mday=4, tm_hour=14, tm_min=6, tm_sec=42, tm_wday=5, tm_yday=35, tm_isdst=-1)
>>> time.strptime('2017-02-04 14:12', '%Y-%m-%d %H:%M')
time.struct_time(tm_year=2017, tm_mon=2, tm_mday=4, tm_hour=14, tm_min=12, tm_sec=0, tm_wday=5, tm_yday=35, tm_isdst=-1)
>>> time.strptime('2017/02/04 14:12', '%Y/%m/%d %H:%M')
time.struct_time(tm_year=2017, tm_mon=2, tm_mday=4, tm_hour=14, tm_min=12, tm_sec=0, tm_wday=5, tm_yday=35, tm_isdst=-1)
>>> time.strptime('201702041412', '%Y%m%d%H%M')
time.struct_time(tm_year=2017, tm_mon=2, tm_mday=4, tm_hour=14, tm_min=12, tm_sec=0, tm_wday=5, tm_yday=35, tm_isdst=-1)
登录后复制

struct_time格式转字符串格式时间

>>> time.strftime('%Y-%m-%d %H:%M', time.localtime())
'2017-02-04 14:19'

struct_time格式转时间戳格式时间
>>> time.mktime(time.localtime())
1486189282.0
登录后复制

3. 时间格式转换

时间戳格式的时间 与 字符串格式的时间 虽然可以通过ctime([secs])方法进行转换,但是字符串格式不太适应中国国情。因此,整体而言,它们 不能直接进行转换,需要通过struct_time作为中介,转换关系如下:

Python之日期与时间处理模块(date和datetime)

说明:上面的 '%H:%M:%S' 可以直接用 '%X' 代替。

四、 datetime模块

datetime模块提供了处理日期和时间的类,既有简单的方式,又有复杂的方式。它虽然支持日期和时间算法,但其实现的重点是为输出格式化和操作提供高效的属性提取功能。

1. datetime模块中定义的类

datetime模块定义了以下几个类:


类名称描述
datetime.date表示日期,常用的属性有:year, month和day
datetime.time表示时间,常用属性有:hour, minute, second, microsecond
datetime.datetime表示日期时间
datetime.timedelta表示两个date、time、datetime实例之间的时间间隔,分辨率(最小单位)可达到微秒
datetime.tzinfo时区相关信息对象的抽象基类。它们由datetime和time类使用,以提供自定义时间的而调整。
datetime.timezonePython 3.2中新增的功能,实现tzinfo抽象基类的类,表示与UTC的固定偏移量

需要说明的是:这些类的对象都是不可变的。

类之间的关系:

object
 date
 datetime
 time
 timedelta
 tzinfo
 timezone
登录后复制

2. datetime模块中定义的常量


常量名称描述
datetime.MINYEARdatetime.date或datetime.datetime对象所允许的年份的最小值,值为1
datetime.MAXYEARdatetime.date或datetime.datetime对象所允许的年份的最大值,只为9999

3. datetime.date类

datetime.date类的定义

class datetime.date(year, month, day)
登录后复制

year, month 和 day都是是必须参数,各参数的取值范围为:


参数名称取值范围
year[MINYEAR, MAXYEAR]
month[1, 12]
day[1, 指定年份的月份中的天数]

类方法和属性


类方法/属性名称描述
date.maxdate对象所能表示的最大日期:9999-12-31
date.mindate对象所能表示的最小日志:00001-01-01
date.resoluationdate对象表示的日期的最小单位:天
date.today()返回一个表示当前本地日期的date对象
date.fromtimestamp(timestamp)根据跟定的时间戳,返回一个date对象

对象方法和属性


对象方法/属性名称描述
d.year
d.month
d.day
d.replace(year[, month[, day]])生成并返回一个新的日期对象,原日期对象不变
d.timetuple()返回日期对应的time.struct_time对象
d.toordinal()返回日期是是自 0001-01-01 开始的第多少天
d.weekday()返回日期是星期几,[0, 6],0表示星期一
d.isoweekday()返回日期是星期几,[1, 7], 1表示星期一
d.isocalendar()返回一个元组,格式为:(year, weekday, isoweekday)
d.isoformat()返回‘YYYY-MM-DD'格式的日期字符串
d.strftime(format)返回指定格式的日期字符串,与time模块的strftime(format, struct_time)功能相同

实例

>>> import time
>>> from datetime import date
>>>
>>> date.max
datetime.date(9999, 12, 31)
>>> date.min
datetime.date(1, 1, 1)
>>> date.resolution
datetime.timedelta(1)
>>> date.today()
datetime.date(2017, 2, 4)
>>> date.fromtimestamp(time.time())
datetime.date(2017, 2, 4)
>>>
>>> d = date.today()
>>> d.year
2017
>>> d.month
2
>>> d.day
4
>>> d.replace(2016)
datetime.date(2016, 2, 4)
>>> d.replace(2016, 3)
>>> d.replace(2016, 3, 2)
datetime.date(2016, 3, 2)
>>> d.timetuple()
time.struct_time(tm_year=2017, tm_mon=2, tm_mday=4, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=5, tm_yday=35, tm_isdst=-1)
>>> d.toordinal()
736364
>>> d.weekday()
5
>>> d.isoweekday()
6
>>> d.isocalendar()
(2017, 5, 6)
>>> d.isoformat()
'2017-02-04'
>>> d.ctime()
'Sat Feb 4 00:00:00 2017'
>>> d.strftime('%Y/%m/%d')
'2017/02/04'
登录后复制

4. datetime.time类

time类的定义

class datetime.time(hour, [minute[, second, [microsecond[, tzinfo]]]])
登录后复制

hour为必须参数,其他为可选参数。各参数的取值范围为:


参数名称取值范围
hour[0, 23]
minute[0, 59]
second[0, 59]
microsecond[0, 1000000]
tzinfotzinfo的子类对象,如timezone类的实例

类方法和属性


类方法/属性名称描述
time.maxtime类所能表示的最大时间:time(23, 59, 59, 999999)
time.mintime类所能表示的最小时间:time(0, 0, 0, 0)
time.resolution时间的最小单位,即两个不同时间的最小差值:1微秒

对象方法和属性


对象方法/属性名称描述
t.hour
t.minute
t.second
t.microsecond微秒
t.tzinfo返回传递给time构造方法的tzinfo对象,如果该参数未给出,则返回None
t.replace(hour[, minute[, second[, microsecond[, tzinfo]]]])生成并返回一个新的时间对象,原时间对象不变
t.isoformat()返回一个‘HH:MM:SS.%f'格式的时间字符串
t.strftime()返回指定格式的时间字符串,与time模块的strftime(format, struct_time)功能相同

实例

>>> from datetime import time
>>>
>>> time.max
datetime.time(23, 59, 59, 999999)
>>> time.min
datetime.time(0, 0)
>>> time.resolution
datetime.timedelta(0, 0, 1)
>>>
>>> t = time(20, 5, 40, 8888)
>>> t.hour
20
>>> t.minute
5
>>> t.second
40
>>> t.microsecond
8888
>>> t.tzinfo
>>>
>>> t.replace(21)
datetime.time(21, 5, 40, 8888)
>>> t.isoformat()
'20:05:40.008888'
>>> t.strftime('%H%M%S')
'200540'
>>> t.strftime('%H%M%S.%f')
'200540.008888'
登录后复制

5. datetime.datetime类

datetime类的定义


复制代码 代码如下:


class datetime.datetime(year, month, day, hour=0, minute=0, second=0, microsecond=0, tzinfo=None)

year, month 和 day是必须要传递的参数, tzinfo可以是None或tzinfo子类的实例。

各参数的取值范围为:


参数名称取值范围
year[MINYEAR, MAXYEAR]
month[1, 12]
day[1, 指定年份的月份中的天数]
hour[0, 23]
minute[0, 59]
second[0, 59]
microsecond[0, 1000000]
tzinfotzinfo的子类对象,如timezone类的实例

如果一个参数超出了这些范围,会引起ValueError异常。

类方法和属性


类方法/属性名称描述
datetime.today()返回一个表示当前本期日期时间的datetime对象
datetime.now([tz])返回指定时区日期时间的datetime对象,如果不指定tz参数则结果同上
datetime.utcnow()返回当前utc日期时间的datetime对象
datetime.fromtimestamp(timestamp[, tz])根据指定的时间戳创建一个datetime对象
datetime.utcfromtimestamp(timestamp)根据指定的时间戳创建一个datetime对象
datetime.combine(date, time)把指定的date和time对象整合成一个datetime对象
datetime.strptime(date_str, format)将时间字符串转换为datetime对象

对象方法和属性


对象方法/属性名称描述
dt.year, dt.month, dt.day年、月、日
dt.hour, dt.minute, dt.second时、分、秒
dt.microsecond, dt.tzinfo微秒、时区信息
dt.date()获取datetime对象对应的date对象
dt.time()获取datetime对象对应的time对象, tzinfo 为None
dt.timetz()获取datetime对象对应的time对象,tzinfo与datetime对象的tzinfo相同
dt.replace([year[, month[, day[, hour[, minute[, second[, microsecond[, tzinfo]]]]]]]])生成并返回一个新的datetime对象,如果所有参数都没有指定,则返回一个与原datetime对象相同的对象
dt.timetuple()返回datetime对象对应的tuple(不包括tzinfo)
dt.utctimetuple()返回datetime对象对应的utc时间的tuple(不包括tzinfo)
dt.toordinal()同date对象
dt.weekday()同date对象
dt.isocalendar()同date独享
dt.isoformat([sep])返回一个‘%Y-%m-%d
dt.ctime()等价于time模块的time.ctime(time.mktime(d.timetuple()))
dt.strftime(format)返回指定格式的时间字符串

实例

>>> from datetime import datetime, timezone
>>>
>>> datetime.today()
datetime.datetime(2017, 2, 4, 20, 44, 40, 556318)
>>> datetime.now()
datetime.datetime(2017, 2, 4, 20, 44, 56, 572615)
>>> datetime.now(timezone.utc)
datetime.datetime(2017, 2, 4, 12, 45, 22, 881694, tzinfo=datetime.timezone.utc)
>>> datetime.utcnow()
datetime.datetime(2017, 2, 4, 12, 45, 52, 812508)
>>> import time
>>> datetime.fromtimestamp(time.time())
datetime.datetime(2017, 2, 4, 20, 46, 41, 97578)
>>> datetime.utcfromtimestamp(time.time())
datetime.datetime(2017, 2, 4, 12, 46, 56, 989413)
>>> datetime.combine(date(2017, 2, 4), t)
datetime.datetime(2017, 2, 4, 20, 5, 40, 8888)
>>> datetime.strptime('2017/02/04 20:49', '%Y/%m/%d %H:%M')
datetime.datetime(2017, 2, 4, 20, 49)
>>> dt = datetime.now()
>>> dt
datetime.datetime(2017, 2, 4, 20, 57, 0, 621378)
>>> dt.year
2017
>>> dt.month
2
>>> dt.day
4
>>> dt.hour
20
>>> dt.minute
57
>>> dt.second
0
>>> dt.microsecond
621378
>>> dt.tzinfo
>>> dt.timestamp()
1486213020.621378
>>> dt.date()
datetime.date(2017, 2, 4)
>>> dt.time()
datetime.time(20, 57, 0, 621378)
>>> dt.timetz()
datetime.time(20, 57, 0, 621378)
>>> dt.replace()
datetime.datetime(2017, 2, 4, 20, 57, 0, 621378)
>>> dt.replace(2016)
datetime.datetime(2016, 2, 4, 20, 57, 0, 621378)
>>> dt.timetuple()
time.struct_time(tm_year=2017, tm_mon=2, tm_mday=4, tm_hour=20, tm_min=57, tm_sec=0, tm_wday=5, tm_yday=35, tm_isdst=-1)
>>> dt.utctimetuple()
time.struct_time(tm_year=2017, tm_mon=2, tm_mday=4, tm_hour=20, tm_min=57, tm_sec=0, tm_wday=5, tm_yday=35, tm_isdst=0)
>>> dt.toordinal()
736364
>>> dt.weekday()
5
>>> dt.isocalendar()
(2017, 5, 6)
>>> dt.isoformat()
'2017-02-04T20:57:00.621378'
>>> dt.isoformat(sep='/')
'2017-02-04/20:57:00.621378'
>>> dt.isoformat(sep=' ')
'2017-02-04 20:57:00.621378'
>>> dt.ctime()
'Sat Feb 4 20:57:00 2017'
>>> dt.strftime('%Y%m%d %H:%M:%S.%f')
'20170204 20:57:00.621378'
登录后复制

6. 使用datetime.datetime类对时间戳与时间字符串进行转换

Python之日期与时间处理模块(date和datetime)

7. datetime.timedelta类

timedelta对象表示连个不同时间之间的差值。如果使用time模块对时间进行算术运行,只能将字符串格式的时间 和 struct_time格式的时间对象 先转换为时间戳格式,然后对该时间戳加上或减去n秒,最后再转换回struct_time格式或字符串格式,这显然很不方便。而datetime模块提供的timedelta类可以让我们很方面的对datetime.date, datetime.time和datetime.datetime对象做算术运算,且两个时间之间的差值单位也更加容易控制。
这个差值的单位可以是:天、秒、微秒、毫秒、分钟、小时、周。

datetime.timedelta类的定义


复制代码 代码如下:


class datetime.timedelta(days=0, seconds=0, microseconds=0, milliseconds=0, hours=0, weeks=0)

所有参数都是默认参数,因此都是可选参数。参数的值可以是整数或浮点数,也可以是正数或负数。内部值存储days、seconds 和 microseconds,其他所有参数都将被转换成这3个单位:

  • 1毫秒转换为1000微秒

  • 1分钟转换为60秒

  • 1小时转换为3600秒

  • 1周转换为7天

然后对这3个值进行标准化,使得它们的表示是唯一的:

  • microseconds : [0, 999999]

  • seconds : [0, 86399]

  • days : [-999999999, 999999999]

类属性


类属性名称描述
timedelta.mintimedelta(-999999999)
timedelta.maxtimedelta(days=999999999, hours=23, minutes=59, seconds=59, microseconds=999999)
timedelta.resolutiontimedelta(microseconds=1)

实例方法和属性


实例方法/属性名称描述
td.days天 [-999999999, 999999999]
td.seconds秒 [0, 86399]
td.microseconds微秒 [0, 999999]
td.total_seconds()时间差中包含的总秒数,等价于: td / timedelta(seconds=1)


方法/属性描述
datetime.datetime.now()返回当前本地时间(datetime.datetime对象实例)
datetime.datetime.fromtimestamp(timestamp)返回指定时间戳对应的时间(datetime.datetime对象实例)
datetime.timedelta()返回一个时间间隔对象,可以直接与datetime.datetime对象做加减操作

实例

>>> import datetime
>>>
>>> datetime.timedelta(365).total_seconds() # 一年包含的总秒数
31536000.0
>>> dt = datetime.datetime.now()
>>> dt + datetime.timedelta(3) # 3天后
datetime.datetime(2017, 2, 8, 9, 39, 40, 102821)
>>> dt + datetime.timedelta(-3) # 3天前
datetime.datetime(2017, 2, 2, 9, 39, 40, 102821)
>>> dt + datetime.timedelta(hours=3) # 3小时后
datetime.datetime(2017, 2, 5, 12, 39, 40, 102821)
>>> dt + datetime.timedelta(hours=-3) # 3小时前
datetime.datetime(2017, 2, 5, 6, 39, 40, 102821)
>>> dt + datetime.timedelta(hours=3, seconds=30) # 3小时30秒后 
datetime.datetime(2017, 2, 5, 12, 40, 10, 102821)
登录后复制

五、时间格式码

time模块的struct_time以及datetime模块的datetime、date、time类都提供了strftime()方法,该方法可 以输出一个指定格式的时间字符串。具体格式由一系列的格式码(格式字符)组成,Python最终调用的是各个平台C库的strftme()函数,因此各平台对全套格式码的支持会有所不同,具体情况需要参考该平台上的strftime(3)文档。下面列出了C标准(1989版)要求的所有格式码,它们在所有标准C实现的平台上都可以工作:

Python之日期与时间处理模块(date和datetime)

六、总结

那么Python中处理时间时,使用time模块好,还是用datetime模块好呢?就我个人而言,datetime模块基本上可以满足需要,且用起来确实比较方便。对于time模块,我只是在取当前时间的时间戳时会用到time.time()方法,当然也可以通过datetime.datetime.now().timestamp()来获取,只是显得复杂一点。我觉得还是看个人习惯吧,没有什么绝对的好坏之分。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持PHP中文网。

更多Python之日期与时间处理模块(date和datetime)相关文章请关注PHP中文网!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

如何解决Linux终端中查看Python版本时遇到的权限问题? 如何解决Linux终端中查看Python版本时遇到的权限问题? Apr 01, 2025 pm 05:09 PM

Linux终端中查看Python版本时遇到权限问题的解决方法当你在Linux终端中尝试查看Python的版本时,输入python...

我如何使用美丽的汤来解析HTML? 我如何使用美丽的汤来解析HTML? Mar 10, 2025 pm 06:54 PM

本文解释了如何使用美丽的汤库来解析html。 它详细介绍了常见方法,例如find(),find_all(),select()和get_text(),以用于数据提取,处理不同的HTML结构和错误以及替代方案(SEL)

如何使用TensorFlow或Pytorch进行深度学习? 如何使用TensorFlow或Pytorch进行深度学习? Mar 10, 2025 pm 06:52 PM

本文比较了Tensorflow和Pytorch的深度学习。 它详细介绍了所涉及的步骤:数据准备,模型构建,培训,评估和部署。 框架之间的关键差异,特别是关于计算刻度的

Python中的数学模块:统计 Python中的数学模块:统计 Mar 09, 2025 am 11:40 AM

Python的statistics模块提供强大的数据统计分析功能,帮助我们快速理解数据整体特征,例如生物统计学和商业分析等领域。无需逐个查看数据点,只需查看均值或方差等统计量,即可发现原始数据中可能被忽略的趋势和特征,并更轻松、有效地比较大型数据集。 本教程将介绍如何计算平均值和衡量数据集的离散程度。除非另有说明,本模块中的所有函数都支持使用mean()函数计算平均值,而非简单的求和平均。 也可使用浮点数。 import random import statistics from fracti

哪些流行的Python库及其用途? 哪些流行的Python库及其用途? Mar 21, 2025 pm 06:46 PM

本文讨论了诸如Numpy,Pandas,Matplotlib,Scikit-Learn,Tensorflow,Tensorflow,Django,Blask和请求等流行的Python库,并详细介绍了它们在科学计算,数据分析,可视化,机器学习,网络开发和H中的用途

如何使用Python创建命令行接口(CLI)? 如何使用Python创建命令行接口(CLI)? Mar 10, 2025 pm 06:48 PM

本文指导Python开发人员构建命令行界面(CLIS)。 它使用Typer,Click和ArgParse等库详细介绍,强调输入/输出处理,并促进用户友好的设计模式,以提高CLI可用性。

在Python中如何高效地将一个DataFrame的整列复制到另一个结构不同的DataFrame中? 在Python中如何高效地将一个DataFrame的整列复制到另一个结构不同的DataFrame中? Apr 01, 2025 pm 11:15 PM

在使用Python的pandas库时,如何在两个结构不同的DataFrame之间进行整列复制是一个常见的问题。假设我们有两个Dat...

解释Python中虚拟环境的目的。 解释Python中虚拟环境的目的。 Mar 19, 2025 pm 02:27 PM

文章讨论了虚拟环境在Python中的作用,重点是管理项目依赖性并避免冲突。它详细介绍了他们在改善项目管理和减少依赖问题方面的创建,激活和利益。

See all articles