栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

一步步学习Python---9

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

一步步学习Python---9

我们今天来讲讲Python的装饰器和异常处理与分析,这篇内容讲完之后Python的基础内容就只剩下正则表达式了,结束了Python的基础知识后我决定给大家讲讲数据库的相关知识,不过在此之前我要先带大家了解一下虚拟机的基本操作,废话不多说了,让我们开始今天的内容!

装饰器和异常处理与分析
  • 一.生成器
  • 二.装饰器
  • 三.异常
  • 四.错误查找
  • 五.作业

一.生成器

生成器又叫迭代器
我们来思考一个问题:

我们先来给大家讲一下yield 关键字 :
可以阻塞代码的运行 只有执行迭代的话 才会执行代码
yield 可以返回内容 返回内容可以使用变量进行接收

给大家举个例子:

ef func():
    print(111)
    yield 1
    print(222)
    yield 2
    print(333)
    yield 3

a = func()
next(a)      # 111
b = next(a)  # 222
print(b)
c = next(a)  # 333
print(c)

大家可以清楚的看到yield关键字的作用,我们再来用它实现斐波那契数列:

# 生成菲波那切数列   0,1,1,2,3,5
# yield作用: 依次返回结果
def fib(end):
    a,b = 0,1
    for i in range(end):
        a,b = b,a+b
        yield b
x = fib(10)
for i in range(10):
    b = next(x)
    print(b)


二.装饰器

本质: 闭包函数(嵌套函数+外层函数返回内层函数的函数体)

一样的我们来思考几个问题:

我们来自定义一个装饰器:

def func1(f):   # 参数用来接收原函数的函数体
#     f()
#     def func2():
#         print('我是装饰器')
#         f()
#     return func2
# @func1   # 利用装饰器   # 直接运行时   装饰器外层函数  会被调用
# def test():   # 原函数变成了装饰器内层函数的函数体   func2
#     print('我是原函数!')
# 相当于执行了 test = func1(test)的操作


我们来看看内置装饰器:

#内置装饰器
# class Person:
#     def __init__(self,name,):
#         self.name = name
#         self.age = age
#
#     @property  # 让方法可以像属性一样被调用(不用加括号)
#     def play(self):
#         print('我是play方法!')
#     @classmethod  # 自动把类传给参数接收
#     def learn(cls):
#         print('这是learn方法!')
#     @staticmethod  # 可以让这个方法不需要去传入self,cls这种必备参数
#     def sleep(self):
#         print('我是sleep方法!')
#     def __call__(self):
#         print('我是call方法!')


我们可以对装饰器做一个简单的总结:

三.异常

我们来思考几个问题:


处理异常

第一点:尽量避免bug(考虑全面)
第二点:try–except

下面我给大家举个例子:

try:     # 没报错   执行
    a = b
except NameError as n:  # try里面的代码出错时  运=行
    print(f'错误信息为{n}')
    b = 'null'


当我们不知道错误类型的时候可以写父类错误,如:

except Exception as e:   # 未知错误  Exception是所有错误类型的父类
    print(f'错误信息为{e}')


断言 assert
作用与if类似 可以用作判断
判断条件是否满足断言的条件时 满足时代码可以运行
否则代码终止
作用:可以用作限制等

四.错误查找


异常查找
错在哪 什么错

五.作业


这次的作业难度不大,我准备将上次的作业和这次的作业一起在下一篇文章讲解,大家端午节快乐!!!

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/947352.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号