day19

DAY19学习总结:

匹配对象相关:
  1. 忽略大小写相关操作 ( ?i ) :

    print(fullmatch(r'(?i)ABC','abc'))
    
  2. 单行匹配相关操作 ( ?s ):

    • 既要单行匹配又要忽略大小写 — (?si)
  3. 匹配对象相关操作:

    • 匹配结果对应的字符串:匹配对象.group()
    • 获取匹配结果在原字符串中的位置:匹配对象.span()
    • 获取原字符串:匹配结果.string
迭代器:
  1. 迭代器是容器型数据类型
  2. 特点:无法通过打印迭代器查看元素,也无法统计元素个数,需要使用元素的时候必须将元素从迭代器中取出,取出以后该元素就会从迭代器中消失。
  3. 创建迭代器 — 将其他序列转换成迭代器
    • iter(序列)
  4. 如何获取迭代器的元素
    • 不管以什么样的方式获取到迭代器中的元素,被获取到的元素一定会从迭代器中消失
    • 获取单个元素 — next(迭代器)
    • 遍历
生成器:
  1. 生成器是一种容器,但是这个保存的不是多个数据,而是产生(创建)多个数据的算法,同时具有迭代器保存数据的特点:
    • 打印看不到内容
    • 不支持len操作
    • 元素也是取一个少一个,而且不能再放回生成器中
  2. 创建生成器
    • 调用一个带有yield关键字的函数就可以得到一个生成器对象
    • 注意:如果函数中有yield,那么调用这个函数不会执行函数体,也不会获取函数返回值,而是创建一个生成器对象
  3. 控制生成器产生数据的个数和值
    • 生成器产生数据的个数和值由执行函数体的时候会遇到几次yield以及每次遇到yield的时候,后面的值来决定
  4. 生成器创建数据的原理
    • 调用函数创建生成器的时候不会执行函数体,在通过生成器对象获取生成器中元素的时候才会执行函数,而且每次在执行函数体的时候只会执行到yield就停止,并且记录停止的位置,下次再获取元素的时候从上次结束的位置接着执行。
csv文件:
  1. csv文件(逗号分隔值文件) — 让数据以表格的方式存储(更简单的表格文件)

  2. csv文件的读操作

    • 方法一(读文件内容得到一个迭代器,迭代器中的元素是每一行内容对应的列表)

      • # csv.reader(文件对象)
        # reader=csv.reader(open(文件路径,'r',encoding='utf-8',newline=''))
        # print(next(reader)) — 获取一行内容
        # print(list(reader)) — 转换成列表获取全部内容
        
    • 方法二(读文件内容得到一个迭代器,迭代器中的元素是每一行内容对应的字典内容)

      • reader2=csv.DictReader(open(文件路径,'r',encoding='utf-8',newline=''))
        for x in reader2:
            print(x)
        
  3. csv文件的写操作

    • 方法一(以列表为单位写入一行数据)

      • # 创建writer对象: csv.writer(文件对象)
        # writer1=csv.writer(open(文件路径,'w/a',encoding='utf-8',newline=''))
        # writer1.writerow([元素1,元素2,元素3...])      — 写一行
        # writer1.writerows([元素1(元素是个小列表),元素2,元素3...])    — 写多行
        
    • 方法二(以字典为单位写入一行数据)

      • # writer2=csv.DictWriter(
        # open(文件路径,'w/a',encoding='utf-8',newline=''),
        # ['键1','键2','键3'...]
        # )
        # writer2.writeheader()   ——  导入表头
        # writer2..writerow({元素1,元素2,元素3...})      — 写一行
        # writer1.writerows([元素1(元素是个小字典),元素2,元素3...])    — 写多行
        
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值