Python之装饰器

本文介绍了Python中的装饰器及其重要性,并详细讲解了列表生成式、生成器和迭代器的概念、用法及创建方式。生成器作为一种节省内存的机制,允许在循环过程中按需计算元素。而迭代器则是可以被next()函数调用并返回序列数据的对象,实现了惰性计算。
摘要由CSDN通过智能技术生成

Python之装饰器

    在python这个国家里,装饰器以及后面讲到的迭代器,生成器都是十二分重要的高级函数。
    如果将装饰器比作取经路上的一个大boss,那么想干掉它必须拿到三件法宝。
    装饰器是一个函数,是为了其他函数增加功能使用的。

法宝一:作用域

'''
    L_E_G_B: 从内到外,B是python内置变量
    L: a = 7
    E: a = 5
    G: x = 3
    B: python内置变量
'''

x = 3

def f():
    a = 5

    def inner():
        a = 7
        return a

法宝二:高阶函数

函数名可以作为参数输入
函数名可以作为返回值

法宝三:闭包

'''
    关于闭包  
        闭包 = 函数块 + 定义函数时的环境
    定义
		如果在一个内部函数里,对在外部作用域(但不是在全局作用域)的变量进行引用,那么内部函数就被认为是闭包(closure)
'''
def outer():
	x = 10
def inner(): # 条件1:inner就是内部函数

print(x) # 条件2:外部环境的一个变量

return inner() # 结果:内部函数就是一个闭包
outer()
# inner()# 局部变量,全局无法调用
# x # 局部变量,全局无法调用

一、列表生成式、生成器&迭代器

1.1 列表生成式

    两种创建方式
        方式一:列表生成式可以是变量
        方式二:列表生成式也可以是函数

********列表生成式可以是变量***********
a = [x * 2 for x in range(10)]
print(a
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值