#函数
#先定义再调用
def helpful():
"""函数说明"""
help(helpful)
def fun1(name,age,sex):
print(f'{name}您好,今年你{age}岁,是{sex}性')
fun1('嘿',12,'男')
a=520
def name():
global a #声明全局变量
a=1314
print(a)
c={'name':'allen','age':18}
def name1():
return c
a,b=name1()
print(a)
print(b)
print(c[a])
print(c[b])
#递归
def fun1(a):
if a==1:
return 1
j=a+fun1(a-1)
return j
f=fun1(10)
print(f)
#lambda表达式
print((lambda:520)())
print((lambda a:a)(520))
print((lambda a,b:a+b)(520,1314))
print((lambda a,b,c=3:a+b+c)(2,4))
#三目运算
def fun2(a,b):
return a if a>b else b
print(fun2(1,2))
print((lambda a,b:a if a>b else b)(1,2))
#高阶函数
#filter
print(list(filter(lambda x:x%2,range(1,11))))
#map
list1=[1,2,3,4]
def fun3(x):
return x**2
res=map(fun3,list1)
print(list(res))#等价于
print(list(map(lambda x:x**2,range(1,6))))
#reduce
import functools
list1=[1,2,3,4]
def fun4(a,b):
return a+b
res=functools.reduce(fun4,list1)
print(res)#等价于