八、生成器装饰器和异常
生成器装饰器和异常
- 生成器:
- 定义:当函数里面使用yield关键字,执行该函数返回一个生成器对象.
- 本质:生成器本质上就是迭代器
- yielded的作用: 和return相似(return结束方法并带出返回值)也就是带出返回值和暂停方法,延迟操作(暂停函数)直到下一次next一次一次的取值。
- 斐波那契数列:0,1,1,2,3,5,此时第一个数是a = 0,第二个数是b = 1,第三个数: a + b
- 装饰器
- 作用:不改变函数,给一个函数增加功能
- 装饰器的本质:装饰器的本质就是利用了闭包
- 语法格式:
def 装饰器函数名(参数):
def 功能函数名():
功能
return 功能函数名
加了装饰器的函数执行流程:
cat():
1.func = upgrade(cat) # 执行装饰器函数,把函数本身作为参数传入
2.func() = drilling() # 执行装饰器函数返回的函数,把函数本身的参数作为参数传入
函数本身的参数会传给装饰器函数返回的函数
dog('汤姆'):
1.drilling = upgrade(dog)
2.drilling('汤姆')
3.print('钻火圈')
4.f(name)= dog(name)
- 内置函数:(python已经写好的):
property:调用方法和调用属性一样,不能传入参数了
classmethod:定义参数自动传入类,没加装饰器是自动传入
staticmethod:不再自动传入self或者cls实例对象
- 异常和处理异常
- 定义:异常就是我们平时所说的报错
- 查看异常信息:
- 异常处理:当文件不存在时,程序不会报错,这样报错就不会导致程序结束
- 异常处理语法:用户不知道的情况下,瞎操作的
try: 捕捉
可能出现报错的代码放入try:缩进里面
except: 处理
try里面的代码报错执行except:缩进里面的代码
- 异常处理:处理指定异常及子类异常,并获取其异常的信息
- 细致处理异常
- 断言使用:断言和if类似,断言更加暴躁,不同的是如果为False就会报错
本文来自博客园,作者:chocolateone,转载请注明原文链接:https://www.cnblogs.com/chocolateone/p/17692231.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」