Python基础-global、nonlocal用法、lambda表达式、filter()、map()

1:global将局部变量强制声明为全局变量:

def Fun():
    count = 10
    print(count)
Fun()  #10
print(count)  #NameError: name 'count' is not defined,
              # count是局部变量,只能在定义的函数中查看

def Fun():
    global count  #将count声明为全局变量
    count = 10
    print(count)
Fun()  #10
print(count)  #10

2:nonlocal与global相似

def FunX():
    x = 5
    def FunY():
        nonlocal x  #在嵌套函数中将x强制声明为非局部变量
        x *= x
        return x
    return FunY()
print(FunX())

3:闭包:如果在一个内部函数里,对未在外部作用域的变量进行引用,那么内部函数就叫闭包。(未尝试成功)

 

4:lambda:匿名表达式

#普通函数:
def add(x,y):
    return x+y;
print(add(3,4))

#lambda表达式:
def add(x,y):
    return x+y;
print(add(3,4))

5:filter(筛选标准(可None),筛选范围):把返回true的部分输出,返回False的舍弃

L = list(filter(None,[1,0,False,True]))  #返回为真的内容
print(L)  #输出[1, True]

def odd(x):
    return x%2
tmp = range(10)
show = filter(odd,tmp)
print(list(show))  #输出:[1, 3, 5, 7, 9]

L = list(filter(lambda x:x%2,range(10)))
print(L)   #同上结果

6:映射:map(函数,数值范围),返回的是新生成的值

L = list(map(lambda x : x*2,range(10)))
print(L)  #输出:[0, 2, 4, 6, 8, 10, 12, 14, 16, 18]

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值