函数

在一个完整的项目中,某些功能会反复使用,那么会将功能封装成函数,当我们要使用功能的时候直接调用函数即可
本质:函数就是对功能的封装
格式:
def 函数名(参数列表):
语句
return 表达式

不定值传参:加了星号(*)的变量存放所有未命名的变量参数,如果在函数调用时没有指定参数,就是一个空元组
def func(name,*args)
传递关键字参数:
def func2(**kwargs):
print(kwargs)
func2(x=1,y=2)

匿名函数:不适用def这样的语句定义函数,使用lambda来创建匿名函数
特点:
1.lambda只是一个表达式,函数体比def简单
2.lambda的主体是一个表达式,而不是代码块,仅仅只能在lambda表达式中封装简单的逻辑
3.lambda函数有自己的命名空间,且不能访问自由参数列表之外的或全局命名空间的参数
格式:lambda 参数1,参数2,….:expresion
sum1=lambda num1,num2:num1+num2
print(sum1(1,2))

装饰器
是一个闭包,把一个函数当作参数返回一个替代版的函数,本质上就是一个返回函数的函数

def func(age):
    print('age is %d'%age)


def func2(func):
    def inner(age):
        if age < 0:
            age = 0
        func(age)
    return inner

func=func2(func)
func(-10)

等同于

def func2(func):
    def inner(age):
        if age < 0:
            age = 0

        func(age)
    return inner

@func2
def func(age):
    print('age is %d'%age)

func(-10)

变量的作用域
作用域:变量可以使用的范围
程序的变量并不是在所有位置都能使用的,访问的权限决定于变量在哪赋值。
1.局部作用域
2.函数作用域
3.全局作用域
4.内建作用域

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值