• 正则模块


    模块

    time 模块

    提供三种不同类型的时间戳

    time.time()时间戳形式

    格式化时间

    time.strftime(%Y-%m-%d %X)

    结构化时间

    time.localtime()

    结构化时间 -----> 格式化时间

    struct_time = time.localtime(3600* 24 * 365)

    time.strftime('%Y - %m - %d %X',struct_time)

    格式化时间 ------> 结构化时间

    format_time = time.strftime('%Y- %m - % d %X')

    time.strptime(format_time,'%Y- %m -% d %X')

    结构化时间 --- 》 时间戳

    struct_time = time.localtime(3600 * 24 * 365)

    time.mktime(struct_time)

    时间戳 ---- 》 结构化时间

    time_stamp ----> 结构化时间

    time.localtime(time_stamp)

    time.time

    time.sleep()

    datatime

    now = datetime.datetime.now()

    时间的加减

    now + datetime.timedelta(3)

    加三小时

    now + datatime.timedelta(hours=3)

    random

    random.random()

    random.randint()

    打乱

    lt = [1,2,3]

    random.shuffle(lt)

    随机选择一个

    random.chioce(lt)

    random.seed(11111)

    random.random()

    hashlib

    对字符加密

    m = hashlib.md5()

    m.update(b'say')

    m.hexdigest()

    叠加性

    m.update(b'say')

    m.update(b'hello')

    等效于如下

    m.update(b'say hello')

    hmac模块

    对字符加密 ,并且加上密钥,加盐

    m = hmac.new(b'密钥')

    m.update(b'say')

    m.hexdigest()

    typing()

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

    from typing import Iterable,Iterator,Generator

    resquests()

    response = requests.get()

    .*?表示所有类型的都要

    re 模块

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

    元字符

    ^ :以....开头

    $ : 以....结尾

    . : 任意字符

    d : 数字

    w :数字字母下划线

    s : 空格/ /

    D : 非数字

    W : 非数字字母下划线

    S : 非空格 / /

    + : 前面的字符至少1个

    ? : 前面的字符0 - 1 个

    * : 前面的字符至少0个

    [] : 中括号内的都可以

    [^] :中括号内的都不可以

    | : 或

    {2} :前面的字符有两个

    {1,2}前面的字符有1到2个

    贪婪模式

    . (任意字符) * (0-无穷个)

    .*

    非贪婪模式

    .(任意字符) * (0 - 无穷个) ?(让他进入非贪婪模式)

    .*?

    bug

    直接使用.*?匹配会匹配到空字符串

    函数

    re.compile

    先写匹配规则然后赋值后进行使用

    match

    从头开始找一个,找得到就不找了,找不到报错

    search

    从字符串找一个,就不找了

    分割字符

    split('d+',字符)

    sub

    sub(re.sub('d+',' ',s))

    subn() ------>替换多少次

    re.S 会让点匹配换行符

    分组

    只要括号里的,a(.)c(d)----->元组返回括号中的匹配

    有名分组

    re.search ('(?P<name1>)(?P<name2>)',s).groupdict()

    超高级用法

    re.sub('c(?P<name1d+>)a','g<name1>',s)###g<name1>为不要动的内容

  • 相关阅读:
    【斜率DP】BZOJ 1010:玩具装箱
    【string】KMP, 扩展KMP,trie,SA,ACAM,SAM,最小表示法
    网络流24题 (一)
    关于ax+by=c的解x,y的min(|x|+|y|)值问题
    【概率】COGS 1487:麻球繁衍
    【概率】poj 2096:Collecting Bugs
    [洛谷P5376] 过河卒二
    [TJOI2019] 洛谷P5339 唱、跳、rap和篮球
    [洛谷P3851] TJOI2007 脱险
    [洛谷P3843] TJOI2007 迷路
  • 原文地址:https://www.cnblogs.com/kaizi111/p/11627041.html
Copyright © 2020-2023  润新知