'''
参数要在非固定参数和关键字参数前面
实参优先匹配参数,其次是关键字参数,
如果形参被无固定值赋值,那么在进行制定赋值就会报错
def test(i,*args):
print(i)
print(args)
test(1,2,3,i=3)#报错
'''
print('test:')
def test(i,j,*args,**kwargs):
print('i: %s'%i)
print('j: %s'%j)
print('args: %s'% str(args))#数组不能直接格式化,需要进行字符串转换,但是字典不用
print('kwargs: %s'% kwargs)
test(1,2,3,4,5,k=2)
# 简单
def test1():
print('简单')
print('123')
test1()
# 参数
def test2(i):
print('参数')
print(i)
test2('11')
# 多参数
def test3(i,i1):
print('多参数')
print(i,i1)
test3(1,2)
#非固定参数
def test4(i,*args):
print('非固定参数')
print(i)
print(args)
test4(555,11,11,2,3,4)
#关键字参数
def test5(i,**kwarg):
print('关键字参数')
print(i)
print(kwarg)
test5(name=123,i=122,set=11)
#局部变量
def test6():
print('局部变量')
a = 1
print(a)
test6()
# print(a) #代码报错,变量不存在
#全局变量
def test7():
print('全局变量')
global s
s=123
print(s)
test7()
print(s)
#匿名函数
print('匿名函数')
n = 2
f = lambda n:n*n
print(f(n))
#匿名函数应用
#求出列表每一个值得平方
print('匿名函数的应用')
list_1 = [1,2,3,4,5,6,7]
a = map(lambda n:n*n,list_1)
[print(i) for i in a]
#高阶函数(一个函数接受另一个函数作为参数,这种函数就称之为高阶函数)
print('高阶函数')
def add(x,y,f):
return f(x) + f(y)
res = add(3,-6,abs)
print(res)