首页 > 编程语言 >Python-常用内置模块

Python-常用内置模块

时间:2022-08-30 20:56:30浏览次数:52  
标签:00 内置 .. Python text datetime re 模块 字符串

常用内置模块

数学计算模块

  • 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: 时区信息.

  • 日期时间与字符串相互转换

    1. 在datetime, date和time类中都有一个__实例方法__strftime(format), 称为日期时间格式化.
    2. 类方法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, 如果没有设置时区,则为空

正则表达式模块

正则表达式指预先定义好一个"字符串模板", 通过这个"字符串模板"可以匹配, 查找和替换那些匹配"字符串模板"的字符串.

  • re

    • 字符串匹配: match(p, text). 匹配成功则返回一个Match对象, 否则返回None.

    • 字符串查找:

      1. search(p, text). 在text字符串中查找匹配的内容, 如果找到, 则返回第一个匹配的Match对象.
      2. 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']
      

标签:00,内置,..,Python,text,datetime,re,模块,字符串
From: https://www.cnblogs.com/khrushchefox/p/16640770.html

相关文章