zoukankan      html  css  js  c++  java
  • re模块day17课堂小结

    上节课回顾

    os模块

    与操作系统交互

    sys模块

    与python解释器交互

    json模块

    跨平台数据交互,json串

    pickle模块

    存储python所有类型的数据,为了python文件和python文件的交互

    logging模块

    日志记录

    今日所学

    1. 包 == 模块,包也是拿来导入用的
    2. 包是含有__init__.py的文件夹;导包就是导入__init__
    3. 包一定是被当做模块文件导入,模块文件m1.py/m2.py的搜索路径以执行文件的路径为准

    time模块

    提供了三种不同类型的时间(最主要为时间戳),三种不同类型的时间可以互相转换

    # 时间戳形式
    print(time.time()) 
    # 格式化时间
    print(time.strftime('%Y-%m-%d %X'))
    # 结构化时间
    print(time.localtime())
    

    time.sleep() 让程序睡觉几秒

    datetime模块

    时间的加减

    import datetime
    
    now = datetime.datetime.now()
    print(now)
    
    # 默认3天
    print(now + datetime.timedelta(3))
    # 加3周
    print(now + datetime.timedelta(weeks=3))
    # 加3小时
    print(now + datetime.timedelta(hours=3))
    # 减3小时
    print(now - datetime.timedelta(hours=3))
    

    random模块

    随机数

    random.random()

    0-1的数

    random.randint(1,3)

    1-3的整数

    lt=[1,2,3]
    random.shuffle(lt)# 打乱列表
    random.choice(lt)# 随机选择一个
    

    random.seed()

    只随机一次

    hashlib模块和hmac模块

    hashlib模块

    加密

    m = hashlib.md5()
    m.update(b'hello')
    m.update(b'hello')
    print(m.hexdigest())
    
    
    m = hashlib.md5()
    m.update(b'hellohello')
    print(m.hexdigest())
    
    1. 结果永远都是相同长度的字符串
    2. 叠加性

    hmac模块

    加密, 加盐处理

    m = hmac.new(b'123')
    m.update(b'hellow')
    print(m.hexdigest())
    

    typing模块

    与函数联用,控制函数参数的数据类型,提供了基础数据类型之外的数据类型

    requests模块

    一般用于爬虫,用来爬取数据,模拟浏览器对url发送请求拿到数据

    #用法
    import requests
    res=requests.get(url)
    data=res.text
    print(data)
    

    re模块

    去字符串找符合某种特点的字符串

    #查找所有
    findall
    # ^:以...开头
    res = re.findall('^ab', s)
    print(res)
    res = re.findall('^bc', s)
    print(res)
    # $: 以..结尾
    s = 'abcdabc'
    res = re.findall('bc$', s)
    print(res)
    
    # .: 任意字符
    s = 'abc红abc'
    res = re.findall('abc.', s)
    print(res)
    
    # d: 数字
    s = 'skld2342ljk'
    res = re.findall('d', s)
    print(res)
    
    # w: 非空,数字字母下划线
    s = 'skld_23 42ljk'
    res = re.findall('w', s)
    print(res)
    
    # s:空,空格/	/
    
    s = 'skld_23 42ljk'
    res = re.findall('s', s)
    print(res)
    
    # D: 非数字
    s = 'skld2342ljk'
    res = re.findall('D', s)
    print(res)
    
    # W: 空
    s = 'skld_23 42ljk'
    res = re.findall('W', s)
    print(res)
    
    # S:非空
    s = '
  • 相关阅读:
    Codeforces467C George and Job
    Codeforces205E Little Elephant and Furik and RubikLittle Elephant and Furik and Rubik
    Codeforce205C Little Elephant and Interval
    51nod1829 函数
    51nod1574 排列转换
    nowcoder35B 小AA的数列
    Codeforce893E Counting Arrays
    gym101612 Consonant Fencity
    CodeForces559C Gerald and Giant Chess
    CodeForces456D A Lot of Games
  • 原文地址:https://www.cnblogs.com/shin09/p/11604805.html
Copyright © 2011-2022 走看看