Lambda表达式
python使用lambda表达式来创建匿名函数
foo = [2,18,9,22,17,24,8,12,27]
能将 filter( 函数,列表,元组,字典,可迭代的)
print(list(filter(lambdax: x %3==0, foo)))
print(list(filter(lambdax: x %3==0, foo)))
print(list(map(lambdax: x *2+10, foo)))
importfunctools,_functools
defmax(x,y):
ifx<y:
returnx
elify<x:
returny
else:
returnx
print( functools.reduce(max ,foo))
a=int(input('请输入第一个操作数'))
b=int(input('请输入第一个操作数'))
fun1=input('请输入要执行的函数:')
fun1=eval(fun1)
print(fun1(a,b))
闭包和装饰器
nonlocal声明变量位置是 闭包
defA():
num=10
defB():
nonlocalnum
num=num+5
returnnum
returnB
a=A()
print(a)
print(a.__name__)
print(a())
deffunx(x):
deffuny(y):
return x*y
returnfuny
x=funx(5)
ret= x(6)
ret1= x(7)
print(ret)
print(ret1)
deftest(a,b,fun):
n= fun(a,b)
returnn
lam=input('请输入一个函数')
t=test(10,5,eval(lam))
print( t)
defoutter(fun):
definner():
print('inner()---123456')
fun()
returninner
@outter
defindex():
print('index()-----')
index()
学生出门上课
defwaitao(fun):
print('穿上外套')
print(fun)
returnfun
defkuzi(fun):
print('穿上裤子')
print(fun)
returnfun
defxiezi(fun):
print('穿上鞋子')
print(fun)
returnfun
defbenben(fun):
print('带上笔记本')
print(fun)
returnfun
@benben
@kuzi
@xiezi
@waitao
defstudent():
print('学生出门去上课')
student()
冒泡排序;
L=[12,5,25,3,62,555,4,25,5]
升序 降序
两两相比 小靠前
外侧循环n-1
内侧循环n-1-i
foriinrange(len(L)-1):
forjinrange(len(L)-1-i):
ifL[j]>L[j+1]:
L[j],L[j+1]=L[j+1],L[j]
L.insert(7,30)
foriinrange(len(L)):
ifL[i]>30:
L.insert(i,30)
break
print(L)