【python3】python函数的定义基础

python3的函数定义基础


//函数基本形式

def sum():
      pass

//例子,求一个列表的和

def sum(list):
    sum=0
    for i in list:
        sum=sum+i
    print(sum)


def main():
    list=[0,1,2,3,4,5,6,6,7]
    sum(list)

if __name__=="__main__":
    main()


//函数中的变量为局部变量
//可以用关键字“global”将函数中的变量变成全局变量

list=[0,1,2,3,4,5,6,6,7]
sum=0
def add(list):
    global sum
    for value in list:
        sum=sum+value
    return sum


//带默认值的函数

def add(a,b=5):
    return a+b

def main():
    print(add(2))

if __name__=="__main__":
    main()

//输出“7”
//传入b的值时,使用传入的参数
//不传入b的值时,使用默认的参数

//偏函数

import functools            //模块

def add(a,b=5):
    return a+b
add_=functools.partial(add,b=10)

def main():
   print(add_(a=10))

if __name__=="__main__":
    main()

  //输出结果为20
  //偏函数可以随时改变参数的默认值

//高阶函数

def add(a,b):
    return a+b

def sub(a,b):
    return a-b

def oper(a,b,fun):
    return fun(a,b)

def main():
   print(oper(15,3,add))
   print(oper(15,3,sub))

if __name__=="__main__":
    main()

//高阶函数的意思就是把函数当做参数运用


//返回函数+闭包
//闭包(1.嵌入函数  2.子函数调用父函数的变量  3.父函数返回子函数)

def sum(a,b):
    def oper():
        print(a+b)
    return oper

def main():
    print(sum(5,6)())


if __name__=="__main__":
    main()



//装饰器

def valid(fun):
    def inner(a,b):
        print("是否登录")
        fun(a,b)
        print("录入日志")
    return inner


@valid
def apply(a,b):
    c=a+b
    print("执行业务逻辑")
    return c

apply(2,3)
发布了29 篇原创文章 · 获赞 10 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_36834959/article/details/79942665