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

广州电信网站备案个人主页免费

广州电信网站备案,个人主页免费,北京建设信源资讯有限公司网站,个人网站设计首页界面第三周 Day 2 🎯 今日目标 理解生成器表达式与列表推导的差异掌握迭代器的本质与自定义迭代器类初识装饰器(Decorator)的概念与简单实现为后续“爬虫 & Web开发”模块打好函数封装与复用的基础 📍 生成器表达式(…

第三周 Day 2

🎯 今日目标

  • 理解生成器表达式与列表推导的差异
  • 掌握迭代器的本质与自定义迭代器类
  • 初识装饰器(Decorator)的概念与简单实现
  • 为后续“爬虫 & Web开发”模块打好函数封装与复用的基础

📍 生成器表达式(Generator Expression)

生成器表达式语法类似列表推导式,但使用的是 () 而不是 [],返回的是生成器对象,具有惰性计算的特点。

✅ 示例:

gen = (x**2 for x in range(5))
print(next(gen))  # 输出 0
print(list(gen))  # 输出 [1, 4, 9, 16]

✅ 和列表推导对比:

特性列表推导式生成器表达式
语法[]()
返回类型列表(一次性加载)生成器(惰性迭代)
占用内存高(一次性生成所有结果)低(按需生成)

🔁 自定义迭代器类(Iterator Class)

自定义类中实现 iter() 和 next() 方法即可成为可迭代对象。

✅ 示例:

class CountDown:def __init__(self, start):self.current = startdef __iter__(self):return selfdef __next__(self):if self.current <= 0:raise StopIterationself.current -= 1return self.current + 1cd = CountDown(5)
for i in cd:print(i)

输出:

5
4
3
2
1

🎁 装饰器(Decorator)基础

装饰器是一种高级语法,用来在不修改原函数代码的前提下扩展功能,本质是函数嵌套与高阶函数结合。

✅ 基本语法

def log(func):def wrapper():print("开始执行函数...")func()print("函数执行完毕。")return wrapper@log
def say_hello():print("Hello!")say_hello()

输出:

开始执行函数...
Hello!
函数执行完毕。

💡 装饰器应用场景

  • 日志打印
  • 权限验证(登录后才能访问)
  • 性能统计(记录函数耗时)
  • 缓存(装饰器+字典)

🧪 今日练习任务

✅ 练习1:用生成器表达式生成 100 个偶数,并取前 5 个

gen = (x for x in range(0, 200, 2))
for _ in range(5):print(next(gen))

✅ 练习2:写一个自定义迭代器类,输出 1~n 的平方

class Square:def __init__(self, n):self.n = nself.i = 1def __iter__(self):return selfdef __next__(self):if self.i > self.n:raise StopIterationval = self.i ** 2self.i += 1return valfor s in Square(5):print(s)

✅ 练习3:写一个装饰器,用于打印函数运行前后的时间

import timedef timer(func):def wrapper():start = time.time()func()end = time.time()print(f"耗时:{end - start:.4f} 秒")return wrapper@timer
def run():time.sleep(1)print("执行中...")run()

📌 今日总结

内容说明
生成器表达式与列表推导类似,但更节省内存
自定义迭代器通过 iter() 和 next() 组合实现
装饰器基础用于增强函数功能,常用于日志、验证等场景
实战练习结合语法 + 应用,强化实际编程能力

文章转载自:

http://TCvTGVvn.xckdn.cn
http://HSDPi1jp.xckdn.cn
http://2JZDasE6.xckdn.cn
http://eLYeHIHc.xckdn.cn
http://BNCrEftY.xckdn.cn
http://0sVADvjt.xckdn.cn
http://xjbM95V9.xckdn.cn
http://12vdjZgP.xckdn.cn
http://WIhJoCq4.xckdn.cn
http://OMdQqRfX.xckdn.cn
http://ufnwOjsy.xckdn.cn
http://fY3t59EF.xckdn.cn
http://RhS85BCo.xckdn.cn
http://adL2UUGv.xckdn.cn
http://M66TJwKd.xckdn.cn
http://mgCAyvz6.xckdn.cn
http://T3nNVOao.xckdn.cn
http://mza6NUWa.xckdn.cn
http://CA7Blr9Y.xckdn.cn
http://qUuChQB8.xckdn.cn
http://FGDF1zl5.xckdn.cn
http://IR54Cj1v.xckdn.cn
http://7LBJpvt1.xckdn.cn
http://BrNE2fdg.xckdn.cn
http://Ai2bOAsW.xckdn.cn
http://nNX3a8Yc.xckdn.cn
http://dBe1T3CA.xckdn.cn
http://6SOGybuC.xckdn.cn
http://houW2eeu.xckdn.cn
http://VBbXlasB.xckdn.cn
http://www.dtcms.com/wzjs/746980.html

相关文章:

  • 河北省住房和城身建设厅网站京东商城网站建设目的
  • 深圳专业高端网站建设wordpress怎么搬站
  • 营业执照申请网站seo的方法有哪些
  • 教育网站建设公司青白江建设网站
  • 锡林浩特网站建设开发好看响应式网站模板下载
  • seo排名助手李飞seo
  • 沈阳做网站哪家质量好价格低汉中市建设工程造价信息网
  • 海门住房和城乡建设局网站免费行情网站推荐
  • c网站开发案例详解北京网站建
  • 泰安网站建设收费标准建协网官方网站
  • 厦门网站制作案例阿里巴巴国际站网页设计教程
  • 塘厦仿做网站帝国行业网站模板
  • 学习做网站是什么专业阿里云短信wordpress
  • 网站首页栏目设置手表东莞网站建设技术支持
  • 自己有网站怎么推广网站建设 的类型有哪些
  • 上海网站建设与设计顺德网站建设方案
  • 不想网站备案如何办wordpress搭建好后如何在前台显示
  • dz网站后台html在线编程网站
  • 深圳专业网站制作技术wordpress如何配置
  • 那个网站做的调查准确ddns域名注册
  • 沧州哪里可以做网站全屋定制一般多少钱
  • 盐城建设网站wordpress 主题开发 兜
  • 网站规划和建设方案大足区城乡建设投资集团网站
  • 怎么才能百度到自己的网站网站项目需要什么
  • 网站个人备案需要什么网站首页被k 不恢复
  • 建设专业网站wordpress wp user frontend
  • 域名免费注册网站php网站建立教程
  • 装饰设计网站什么是高清视频会议终端
  • 易进网站建设推广怎么做出有品牌感的网站
  • 做家教网站怎么样长春求推荐好的网站优化推广