Python基础之迭代器、生成器、装饰器
题1迭代器定义一个迭代器类RangeIterator接收两个参数start、end实现功能可以遍历[start, end) 之间所有 3 的倍数必须手动实现__iter__和__next__方法禁止用生成器。classRangeIterator:def__init__(self,start,end):self.startstart self.endend# 先找到第一个3的倍数在[start,end]中# start: 1 current 3# start: 2 current 3# start: 3 current 3# start: 1 current 3# start: 2 current 3# start: 3 current 3self.currentstartifstart%30else3start-start%3def__iter__(self):returnselfdef__next__(self):ifself.currentself.end:raiseStopIteration valueself.current self.current3returnvalue rRangeIterator(1,10)foriinr:print(i)题2生成器编写一个生成器函数fib_generator(n)生成前 n 项斐波那契数列。规则第 1、2 项为 1从第 3 项开始每一项 前两项之和使用yield实现不能一次性返回列表deffib_generator(n):a,b1,1for_inrange(1,n1):yielda a,bb,ab _ 1 yield 1 a:1 b:2 _ 2 yield 1 a:2 b:3 _ 3 yield 2 a:3 b:5 _ 4 yield 3 a:5 b:8 gfib_generator(10)foriing:print(i)题3装饰器编写一个装饰器timer可以装饰任意函数自动打印该函数的运行时间秒。要求装饰器不带参数能装饰有参 / 无参函数输出格式函数名 运行时间x.xx 秒提示函数对象.__name__可以获取函数名例如被装饰函数如下deftest_func():print(hello)defadd(start,end):sum0foriinrange(start,end1):sumireturnsumimporttimedeftimer(func):defwrapper(*args):starttime.perf_counter()resultfunc(*args)endtime.perf_counter()print(f{func.__name__}运行时间:{end-start}秒)returnresultreturnwrappertimerdeftest_func():print(hello)timerdefadd(start,end):sum0foriinrange(start,end1):sumireturnsumtest_func()print(add(1,100))

相关新闻

5分钟掌握国家中小学智慧教育平台电子课本下载:免费PDF获取全攻略

5分钟掌握国家中小学智慧教育平台电子课本下载:免费PDF获取全攻略

5分钟掌握国家中小学智慧教育平台电子课本下载:免费PDF获取全攻略 【免费下载链接】tchMaterial-parser 国家中小学智慧教育平台 电子课本下载工具,帮助您从智慧教育平台中获取电子课本的 PDF 文件网址并进行下载,让您更方便地获取课本内容。…

2026/7/27 18:22:51 阅读更多 →
低延!DeepSeek-V4-Flash 享受特惠,DMXAPI 轻松接入享7.9折,国产 AI 再创优势

低延!DeepSeek-V4-Flash 享受特惠,DMXAPI 轻松接入享7.9折,国产 AI 再创优势

低延迟是线上交互、实时创作、轻量化智能体项目的核心诉求,DeepSeek-V4-Flash作为业内广受认可的极速模型,凭借低延迟、快速响应、轻量化算力消耗的特点,成为实时问答、短视频快速写稿、前端 AI 交互项目的首选。目前 7.9 折特惠全面开启&…

2026/7/27 18:21:51 阅读更多 →
Windows Cleaner:如何用开源工具彻底解决C盘空间不足问题?

Windows Cleaner:如何用开源工具彻底解决C盘空间不足问题?

Windows Cleaner:如何用开源工具彻底解决C盘空间不足问题? 【免费下载链接】WindowsCleaner Windows Cleaner——专治C盘爆红及各种不服! 项目地址: https://gitcode.com/gh_mirrors/wi/WindowsCleaner 还在为Windows系统C盘频繁爆红而…

2026/7/27 18:21:51 阅读更多 →

最新新闻

LMK05028时钟芯片EEPROM与参考时钟检测配置实战指南

LMK05028时钟芯片EEPROM与参考时钟检测配置实战指南

1. 从寄存器手册到实战配置:LMK05028 EEPROM与参考时钟检测深度解析在通信基站、数据中心交换机和高端测试仪器里,时钟信号就是整个系统的“心跳”。一颗高性能的时钟发生器芯片,比如TI的LMK05028,其价值不仅在于能产生超低抖动的…

2026/7/27 18:32:54 阅读更多 →
终极入门指南:5分钟用raylib开启你的游戏开发之旅

终极入门指南:5分钟用raylib开启你的游戏开发之旅

终极入门指南:5分钟用raylib开启你的游戏开发之旅 【免费下载链接】raylib A simple and easy-to-use library to enjoy videogames programming 项目地址: https://gitcode.com/GitHub_Trending/ra/raylib 你是否曾经梦想过创建自己的游戏,却被复…

2026/7/27 18:32:54 阅读更多 →
医学影像的魔法:如何用InVesalius将二维CT/MRI变成三维立体模型

医学影像的魔法:如何用InVesalius将二维CT/MRI变成三维立体模型

医学影像的魔法:如何用InVesalius将二维CT/MRI变成三维立体模型 【免费下载链接】invesalius3 3D medical imaging reconstruction software 项目地址: https://gitcode.com/gh_mirrors/in/invesalius3 你是否曾想过,那些看似平凡的CT或MRI二维切…

2026/7/27 18:32:54 阅读更多 →
5分钟终极指南:在Word中快速配置APA第7版参考文献样式

5分钟终极指南:在Word中快速配置APA第7版参考文献样式

5分钟终极指南:在Word中快速配置APA第7版参考文献样式 【免费下载链接】APA-7th-Edition Microsoft Word XSD for generating APA 7th edition references 项目地址: https://gitcode.com/gh_mirrors/ap/APA-7th-Edition 想要在Microsoft Word中使用最新的AP…

2026/7/27 18:32:54 阅读更多 →
Mole:为什么你的Mac需要这个终端清理工具?5大核心功能深度解析

Mole:为什么你的Mac需要这个终端清理工具?5大核心功能深度解析

Mole:为什么你的Mac需要这个终端清理工具?5大核心功能深度解析 【免费下载链接】Mole 🐹 Clean, uninstall, analyze, optimize, and monitor your Mac from the terminal. 项目地址: https://gitcode.com/GitHub_Trending/mole15/Mole …

2026/7/27 18:32:53 阅读更多 →
Next.js-Prisma-Boilerplate性能优化:提升应用加载速度的10个技巧

Next.js-Prisma-Boilerplate性能优化:提升应用加载速度的10个技巧

Next.js-Prisma-Boilerplate性能优化:提升应用加载速度的10个技巧 【免费下载链接】nextjs-prisma-boilerplate Full stack boilerplate with Next.js, Prisma, Tailwind, TypeScript, Docker, Postgres, documentation, frontend and backend unit and integration…

2026/7/27 18:31:53 阅读更多 →

日新闻

【JAVA毕设源码分享】基于SpringBoot的社区智能垃圾管理系统的设计与实现(程序+文档+代码讲解+一条龙定制)

【JAVA毕设源码分享】基于SpringBoot的社区智能垃圾管理系统的设计与实现(程序+文档+代码讲解+一条龙定制)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

2026/7/27 0:00:54 阅读更多 →
SPI实战指南:从时钟模式到寄存器配置,解决嵌入式通信难题

SPI实战指南:从时钟模式到寄存器配置,解决嵌入式通信难题

1. 项目概述:从寄存器手册到实战指南 如果你手头有一份类似德州仪器(TI)TMS320x240xA系列DSP的SPI模块技术手册,看着里面密密麻麻的寄存器位定义、时序图和公式,是不是感觉头大?这份资料虽然权威&#xff0…

2026/7/27 0:00:54 阅读更多 →
【JAVA毕设源码分享】基于springboot的水果购物管理系统的设计与实现(程序+文档+代码讲解+一条龙定制)

【JAVA毕设源码分享】基于springboot的水果购物管理系统的设计与实现(程序+文档+代码讲解+一条龙定制)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

2026/7/27 0:00:54 阅读更多 →

周新闻

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 数据集6000张 完整源码已标注数据集训练好的模型环境配置教程程序运行说明文档,可以直接使用!系统支持图片、视频、摄像头等多种方式检测裂缝,功能强大实用。 1数据集6000张 8各类别

2026/7/27 4:33:59 阅读更多 →
深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

pubg数据集 精选原图1.42万数据 1.49万标签 无任何重复、算法增强或冗余图像! pubg绝地求生目标检测数据集 1分类:e_body,14905个标签,txt格式 共计14244张图,99%为640*640尺寸图像 适合yolo目标检测、AI训练关键词&am…

2026/7/27 6:31:56 阅读更多 →
Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex检测数据集数据集详情检测类别: allies enemy tag图片总量:7247张训练集:5139张验证集:1425张测试集:683张标注状态:全部已标注,即拿即用数据格式:支持YOLO格式及其他格式&#…

2026/7/27 4:01:12 阅读更多 →

月新闻