常用内置模块
数学计算模块
-
math
函数 说明 ceil(x) 返回大于或等于x的最小整数 floor(x) 返回小于或等于x的最大整数 sqrt(x) 返回x的平方根 pow(x, y) 返回x的y次幂 log(x[, base]) 返回以base为底的x对数, 默认底为自然常数e sin(x) 返回弧度x的三角正弦 degrees(x) 返回弧度x的角度 radians(x) 返回角度x的弧度
日期时间模块
-
datetime
-
datetime类: 包含时间和日期.
datetime.datetime(year, month, day, hour=0, minute=0, second=0, microsecond=0, tzinfo=None)
datetime类的方法 说明 datetime.today() 返回本地日期和时间 datetime.now(tz=None) 返回指定时区的当前日期和时间 datetime.fromtimestamp(timestamp, tz=None) 返回UNIX时间戳对应的日期和时间 -
date类: 只包含日期.
datetime.date(year, month, dat)
date类是datetime类的父类.
-
time类: 只包含时间.
datetime.time(hour=0, minute=0, second=0, microsecond=0, tzinfo=None)
-
timedelta类: 计算时间跨度类.
datetime.timedelta(days=0, seconds=0, microseconds=0, milliseconds=0, minutes=0, hours=0, weeks=0)
import datetime d0 = datetime.datetime(2022, 11, 19) delta = datetime.timedelta(days=1, seconds=1, microseconds=2, milliseconds=1, minutes=1, hours=1, weeks=0) d1 = d0 + delta print(d0, d1, sep='\n') # 2022-11-19 00:00:00 # 2022-11-20 01:01:01.001002
-
tzinfo: 时区信息.
-
-
日期时间与字符串相互转换
- 在datetime, date和time类中都有一个__实例方法__
strftime(format)
, 称为日期时间格式化. - 类方法
datetime.strptime(date_string, format)
, 称为日期时间解析(parse).
import datetime d0 = datetime.datetime(2022, 11, 19) d1 = d0.strftime("%Y-%m-%d %H:%M:%S.%f, %p") print(d0, d1, sep='\n') # 2022-11-19 00:00:00 # '2022-11-19 00:00:00.000000, AM' str_date = "2022-11-19 00:00:00" d2 = datetime.datetime.strptime(str_date, "%Y-%m-%d %H:%M:%S") print(d2, type(d2)) # 2022-11-19 00:00:00 <class 'datetime.datetime'>
-
日期和时间格式控制符
指令 含义 示例 %m 两位月份表示 01..12 %y 两位年份表示 08.. %Y 四位年份表示 2001.. %d 两位表示月中的某一日 01..31 %H 两位小时表示(24小时制) 00..23 %I 两位小时表示(12小时制) 01..12 %p AM或PM区域性设置 AM, PM %M 两位分钟表示 00..59 %S 两位秒表示 00..59 %f 六位微秒表示 000000..999999 %z +HHMM或-HHMM形式的UTC偏移 +1030, 如果没有设置时区,则为空 %Z 时区名称 UTC, EST, CST, 如果没有设置时区,则为空
- 在datetime, date和time类中都有一个__实例方法__
正则表达式模块
正则表达式指预先定义好一个"字符串模板", 通过这个"字符串模板"可以匹配, 查找和替换那些匹配"字符串模板"的字符串.
-
re
-
字符串匹配:
match(p, text)
. 匹配成功则返回一个Match对象, 否则返回None. -
字符串查找:
search(p, text)
. 在text字符串中查找匹配的内容, 如果找到, 则返回第一个匹配的Match对象.findall(p, text)
. 在text字符串中查找所有匹配的内容, 如果找到, 则返回所有匹配的字符串列表.
-
字符串替换:
sub(pattern, repl, string, count=0)
. count表示要替换的最大数量, 默认不限制. -
字符串分割:
split(pattern, string, maxsplit=0)
. maxsplit表示最大分割次数, 默认不限制.import re p1 = r"\[email protected]" email1 = "[email protected]" email2 = "[email protected]" m1 = re.match(p1, email1) m2 = re.match(p1, email2) print(m1, m2, sep="\n") # <re.Match object; span=(0, 9), match='[email protected]'> # None m3 = re.search(p1, email1) print(m3) # <re.Match object; span=(0, 9), match='[email protected]'> p2 = r"python" text1 = "I love python, Python and PYTHON" m4 = re.findall(p2, text1, flags=re.I) print(m4) # ['python', 'Python', 'PYTHON'] p3 = r"\d+" text2 = "AB12CD34EF" text_re1 = re.sub(p3, ' ', text2) text_re2 = re.split(p3, text2) print(text_re1, text_re2, sep="\n") # 'AB CD EF' # ['AB', 'CD', 'EF']
-