python中的闭包,函数

1.查看一个对象有什么属性方法 : dir(对象)  对象.__name__ :查看对象的名字

对象.__doc__ :查看对象的说明文档

2.闭包可以理解为特殊的函数,定义:我们定义了一个函数,在函数的内部我们又定义一个函数,并且这个函数用到了外部函数的变量,我们将这个函数以及用到的变量称为闭包

闭包的外部函数返回内部函数。

下面 一个简单的闭包例子:

def set_line(a,b):

def line(x):

return a*x+b

return line

line1=set_line(2, 3)

print(line1(2))

print(line1(3))

line2=set_line(3,5)

print(line2(2))

print(line2(3))

结果依次为7,9,11,14

3.闭包,内层函数改变外层函数变量的方法

例如 :def set_coun(num):

# 闭包函数变量空间

def inner():

#局部变量空间  nonlocal 声明了num不是一个局部变量  只在python中有 且在python3中这样用

nonlocal num

num+=1

return num

return inner

set_c=set_coun(10)

print(set_c())

在python2中修改外层函数变量,不存在nonlocal这个关键字

def set_coun(num):

# 闭包函数变量空间

temp=[num]

def inner():

temp[0]+=1

return temp[0]

return inner

set_c=set_coun(10)

print(set_c())





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值