八、生成器装饰器和异常

生成器装饰器和异常

  1. 生成器:
  2. 定义:当函数里面使用yield关键字,执行该函数返回一个生成器对象.
  3. 本质:生成器本质上就是迭代器
  4. yielded的作用: 和return相似(return结束方法并带出返回值)也就是带出返回值和暂停方法,延迟操作(暂停函数)直到下一次next一次一次的取值。

C:\Users\巧克力\AppData\Local\Temp\1614241946(1).png

  1. 斐波那契数列:0,1,1,2,3,5,此时第一个数是a = 0,第二个数是b = 1,第三个数: a + b

C:\Users\巧克力\AppData\Local\Temp\1614242543(1).png

  1. 装饰器
  2. 作用:不改变函数,给一个函数增加功能
  3. 装饰器的本质:装饰器的本质就是利用了闭包
  4. 语法格式:

def 装饰器函数名(参数):

def 功能函数名():

功能

return 功能函数名

C:\Users\巧克力\AppData\Local\Temp\1614255646(1).png

C:\Users\巧克力\AppData\Local\Temp\1614255876(1).png

加了装饰器的函数执行流程:

cat():

1.func = upgrade(cat) # 执行装饰器函数,把函数本身作为参数传入

2.func() = drilling() # 执行装饰器函数返回的函数,把函数本身的参数作为参数传入

函数本身的参数会传给装饰器函数返回的函数

dog('汤姆'):

1.drilling = upgrade(dog)

2.drilling('汤姆')

3.print('钻火圈')

4.f(name)= dog(name)

  1. 内置函数:(python已经写好的):

property:调用方法和调用属性一样,不能传入参数了

classmethod:定义参数自动传入类,没加装饰器是自动传入

staticmethod:不再自动传入self或者cls实例对象

C:\Users\巧克力\AppData\Local\Temp\1614257237(1).png

  1. 异常和处理异常
  2. 定义:异常就是我们平时所说的报错
  3. 查看异常信息:

C:\Users\巧克力\AppData\Local\Temp\1614245698(1).png

C:\Users\巧克力\AppData\Local\Temp\1614245665(1).png

  1. 异常处理:当文件不存在时,程序不会报错,这样报错就不会导致程序结束
  2. 异常处理语法:用户不知道的情况下,瞎操作的

try: 捕捉

可能出现报错的代码放入try:缩进里面

except: 处理

try里面的代码报错执行except:缩进里面的代码

C:\Users\巧克力\AppData\Local\Temp\1614246277(1).png

  1. 异常处理:处理指定异常及子类异常,并获取其异常的信息

C:\Users\巧克力\AppData\Local\Temp\1614246928(1).png

  1. 细致处理异常

C:\Users\巧克力\AppData\Local\Temp\1614247644.png

  1. 断言使用:断言和if类似,断言更加暴躁,不同的是如果为False就会报错

C:\Users\巧克力\AppData\Local\Temp\1614254125(1).png

posted @   chocolateone  阅读(7)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
点击右上角即可分享
微信分享提示