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)