Python函数的作用域,递归函数,lambda表达式

函数变量的作用域:

所谓变量的作用域是指变量起作用的代码范围,不同的作用域内同名变量之间互不影响。定义在模块级别的变量拥有全局作用域,这个变量被称为全局变量。定义在函数内的变量拥有局部作用域,这个变量为局部变量。

x = 10
def f1():
    print(x)#结果为10
f1()
def f2():
    x=200
    print(x)#结果为200

通过以上代码块可以砍到第二个程序打印的是200.局部变量对全局变量有屏蔽效果。

递归函数:

函数自身调用自身

def func()
    print('fun')
    func()

用递归来求1-100的和:

def sum(n):
    if n==1:
        return n
    else:
        return n+sum(n-1)

result = sum(10)
print(result)

lambda表达式

lambda声明函数的一般形式如下:
                lambda 参数列表:参数

lambda表达式与函数比较:

def sum(num1,num2):
    return num1+num2
#函数调用
a = 1
b = 2
print(sum(a,b))
#lambda表达式:lambda a,b:a+b
print(lambda a,b:a+b)
sum_lambda = lambda a,b:a+b
print(sum_lambda(a,b))

内置函数与lambda表达式

list_old = [11,22,33]
result = filter(lambda e:e%2==0,list_old)

for elem in result:
    print(elem)

函数就这么多了,当然,我写的不过是基础中的基础,至于更多的,我自己也还在了解之中,愿我们共同成长。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值