当前位置: 首页 > wzjs >正文

做下载网站赚钱吗系统优化大师免费版

做下载网站赚钱吗,系统优化大师免费版,深圳seo公司,企业网站建设流程迭代器生成器区别 通俗版概念 ​迭代器(Iterator)​ ​像“快递员送快递”​: 你有一个包裹清单(比如Excel里的测试用例),快递员(迭代器)会按顺序一个一个送(遍历&#x…

迭代器生成器区别

通俗版概念

  1. 迭代器(Iterator)​

    • 像“快递员送快递”​
      你有一个包裹清单(比如Excel里的测试用例),快递员(迭代器)会按顺序一个一个送(遍历),直到送完。
      ✅ ​适合场景:数据已经全部准备好(如从文件读取的测试用例列表)。
      ❌ ​缺点:如果包裹太多(数据量大),一次性全放车上(内存)会塞不下。
  2. 生成器(Generator)​

    • 像“现炒小菜”​
      你去餐馆吃饭,厨师(生成器)不会提前炒好100盘菜,而是你点一盘(需要数据),他炒一盘(动态生成)。
      ✅ ​适合场景:测试数据量极大(如1万用户注册)、分页接口遍历、大文件处理。
      ❌ ​缺点:菜只能按顺序上(不能回头遍历)。

什么时候用迭代器?什么时候用生成器?

场景用迭代器用生成器
数据是否现成?数据已经存在(如Excel、CSV文件)数据需要动态生成(如参数化测试)
数据量大小数据量小(比如100条用例)数据量大(如1万用户、大文件)
是否需要省内存?不需要(数据可一次性加载)需要(数据分批生成或读取)
代码简洁性直接遍历列表、字典用 yield 一行搞定动态生成

一句话选择原则

  • 用迭代器:数据现成的、量不大,直接遍历。
  • 用生成器:数据量大、需要动态生成或省内存时(如测分页接口、大文件上传)。
场景1:遍历已有的测试用例(用迭代器)​

需求:从CSV文件中读取100条测试用例,依次执行。
迭代器解决:直接遍历现成的数据集合。

import unittest
import csv
import requestsclass TestAPI(unittest.TestCase):def test_all_cases(self):# 迭代器应用点1:csv.DictReader() 本身是一个迭代器# 它会逐行读取CSV文件,而不是一次性加载全部数据到内存with open("test_cases.csv", "r") as f:csv_reader = csv.DictReader(f)  # <-- 这里创建了一个文件迭代器# 迭代器应用点2:for循环本质是调用迭代器的__next__()# 每次循环读取一行数据(按需加载)for case in csv_reader:  # <-- 这里隐式使用迭代器遍历response = requests.request(case["method"], case["url"])self.assertEqual(response.status_code, 200, f"用例 {case} 请求失败")

迭代器在代码中的应用

  1. ​**csv.DictReader(f) 是迭代器**:
    像「传送带」逐行传送CSV数据(不一次性堆内存),处理大文件不卡顿。
  2. ​**for case in csv_reader**:
    循环时自动触发「下一份!」动作(调用__next__()),逐条拿数据测试。

场景说明(通俗版)

需求:用户注册接口需要测试各种随机用户名。
痛点:手动写100条用例太麻烦,一次性生成全部数据占内存。

import unittest
import requests# 生成器:生成100个用户(user_1到user_100)
def user_generator():for i in range(1, 101):  # 改一个数字就能测任意次数yield {"username": f"user_{i}", "email": f"user_{i}@test.com"}class TestUsers(unittest.TestCase):def test_100_users(self):for user in user_generator():  # 自动循环100次response = requests.post("https://api.example.com/register", json=user)self.assertEqual(response.status_code, 200)

代码核心逻辑

  1. 生成器函数 user_generator()

    • range(1, 101) → 生成1到100的数字。
    • yield → 每次循环吐出一个用户数据(如 user_1user_2...user_100)。
http://www.dtcms.com/wzjs/287232.html

相关文章:

  • 个人网站怎么设计近期时政热点新闻20条
  • 上海 餐饮网站建设百度账号申诉中心
  • 免费公众号模板编辑器seo网站优化详解
  • 网络空间滨州seo招聘
  • 外贸网站如何做推广是什么意思百度关键词优化专家
  • 网站建设及网站推广深圳小程序建设公司
  • 天河网站建设哪家好搜索引擎网站提交入口
  • 怎么在阿里巴巴网站做公司名称线上seo关键词优化软件工具
  • 济南网站假设推广google adsense
  • 如何做网站快捷键的元素独立站seo是什么意思
  • 荆州公司做网站百度搜索seo
  • 网上订餐网站模板体验式营销案例
  • 小型企业建站公司关键词调词平台
  • 做百度排名推广有哪些网站网络营销方法
  • 漯河装修公司网站建设智能优化网站
  • 网站搭建行业新冠疫情最新数据
  • 电子商务网站 方案武汉seo排名
  • 如何注册国外网站seo解释
  • 做废铝的关注哪个网站好bt最佳磁力搜索引擎
  • php网站广告管理系统百度首页推广
  • 如何知道自己网站租用的服务器去大连seo网站推广
  • 宁陵做网站的公司宁波seo快速优化平台
  • 网站如何做线下推广app推广拉新渠道
  • 保定网站seo技术云南网络推广
  • 工业信息化部网站备查询百度普通下载
  • 襄樊市网站建设公司2023新闻摘抄大全
  • 网络营销模式的有形收益包括免费seo刷排名
  • wordpress网站设计推广普通话内容
  • 网站怎样做推广计划爱链网中可以进行链接买卖
  • 东莞网站建设兼职产品推广怎么做