函数与参数,闭包

Posted qi1113

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了函数与参数,闭包相关的知识,希望对你有一定的参考价值。

函数
可读性强 复用性强
def 函数名():
函数体
return 返回值
所有的函数 只定义不调用就一定不执行
先定义后调用

函数名() #不接收返回值
返回值 = 函数名() #接收返回值

返回值
没有返回值 :默认返回None
不写return:函数内的代码执行完毕自动结束
只写return:结束一个函数
return None
返回一个值 :结束了函数且返回一个值,可以是任意的值
返回多个值 : 多个值之间用逗号隔开,接收的时候可以用一个变量接收(元祖),也可以用等量的多个变量接收
技术图片
def f(a):
    return 栗子

ret = f(苹果)
print(f(苹果))
Code
参数
形参 定义函数的时候
位置参数 :必须传
*args :动态参数 可以接收任意多个按位置传入的参数
默认参数 : 可以不传 —— 陷阱
**kwargs : 动态参数 可以接受任意多个按关键字传入的参数
实参 调用函数的时候
按照位置传参数
按照关键字传参数
可以混用 位置参数必须在关键字传参之前
不能对一个参数重复赋值
技术图片
def fuct(*args):
    print(args)

# fuct(1,2,3,4)
l = [1,2,3,4]
fuct(*l)
Code
闭包:嵌套函数,内部函数调用外部函数的变量
技术图片
def outer():
    a = 1
    def inner():
        print(a)
    return inner
inn = outer()
inn()
Code
技术图片爬虫

 实例:写函数,接收n个数字,求这些参数数字的和

技术图片
def sum_func(*args):
    total = 0
    for i in args:
        total += i
    return total
print(sum_func(1,2,3,8,23,6))
Code

 

以上是关于函数与参数,闭包的主要内容,如果未能解决你的问题,请参考以下文章

python闭包与装饰器

命名关键字参数,函数对象,嵌套,名称空间与作用域,闭包

013.Python之函数嵌套名称空间与作用域闭包函数

22闭包与继承

作用域与闭包

Go 函数与闭包