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

学做粤菜的网站有哪些wordpress视频网站采集

学做粤菜的网站有哪些,wordpress视频网站采集,备案通过 网站打不开,网站开发w亿玛酷1负责迭代器生成器区别 通俗版概念 ​迭代器(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/552251.html

相关文章:

  • 网站设计专业有哪些课程做网站有er图
  • 丰台建设企业网站爱站网挖掘工具
  • 常见的微网站平台有哪些关于建立公司网站的申请
  • 做网站要空间还是服务器怎么免费注册企业邮箱
  • 人才招聘网网站策划方案宝安各大网站制作比较好的
  • 济南历山北路网站建设电子商务网站建设 下载
  • 学做网站要编程营销网站制作公司
  • 网站ico图标怎么用英文版wordpress改中文字体
  • 湖北建设银行招标在哪个网站看网站用户体验度
  • 七台河新闻头条郑州关键词网站优化排名
  • 因酷网站建设河北廊坊做网站
  • 优化网站具体如何做衡阳微信网站开发
  • 平台网站开发价格wordpress 摄影工作室主题
  • 六安哪家做网站不错榜单优化
  • 大连网站建设仟亿百度网站怎么制作
  • 如何设计一个好网站wordpress 页面转跳
  • 做网站租服务器需要多少钱合击版手游带月灵
  • 建设部网站质量终身责任承诺书wordpress数据收集
  • 对于协会的新年祝贺语网站模板免费网站模板在哪下载
  • 河北辛集市城乡建设管理局网站中国建设网站红黑榜名单
  • 如何不花钱做网站高校网络架构
  • 做太空泥的几分钟网站重庆渝中区企业网站建设联系电话
  • 网站上常用的字体免费seo推广软件
  • 去哪里学习建设网站网站建设怎么更换图片
  • 视频制作网站都有哪些wordpress主题英文改中文版
  • 清徐县建设局网站aso优化平台有哪些
  • 网站推广基本方法是吉林市网站制作
  • 做网站买完域名还要购物商城类app开发
  • 列举网免费发布信息网超级seo工具
  • 郑州网站建设创新网络腾讯企点账户中心