'''lambda表达式:lambda是用来声明一个匿名函数'''
'lambda表达式:lambda是用来声明一个匿名函数'
f=lambda x,y,z:x+y+z
print(f(1,2,3))
6
'''匿名函数的列表
定义:
列表名=[(lambda表达式1),(lambda表达式2),......]
调用:
列表名[索引](Lambda表达式的参数列表)
'''
L=[(lambda x:x**2),(lambda x:x**3)]
print(L[0](2),L[1](2))
4 8
'''return返回值
当返回多个值时,以元组返回'''
def f():
x={'a':2}
y={'a':2}
return(x,y)
f()
({'a': 2}, {'a': 2})
def f1(a):
print(a)
print(f1('x'))
x
None
ch='b'
'a'<=ch<='c'
True
'A'<=ch<='C'
False
def demo(s):
result=[0,0]
for ch in s:
if 'a'<=ch<='z':
result[0]+=1
else:
'A'<=ch<='Z'
result[1]+=1
return result
demo('Niall')
[4, 1]
'''函数的局部变量和全局变量
全局变量需要global声明
'''
def mod1(m,k):
m=2
k=[4,5,6]
return
def mod2(m,k):
global n
n=2
k[0]=4
return
n=100
L=[1,2,3]
mod1(n,L)
print(n)
print(L)
mod2(n,L)
print(n)
print(L)
100
[1, 2, 3]
2
[4, 2, 3]
'''任意参数个数
**p:输入参数的格式是key=value的形式,输出的结果是字典
*p:输入参数的格式是不能有等于号的,输出的结果是元组
'''
def demo1(**p):
return(p)
print(demo1(x=1,y=2,z=3))
def demo2(*p):
return(p)
print(demo2(1,'a',3))
{'x': 1, 'y': 2, 'z': 3}
(1, 'a', 3)
lambda的作用
1.lambda表达式让代码更加简洁,使用它可以省去函数定义的过程
2. 对于一些只需要使用一次的函数,用lambda来定义,可以省去函数命名问题
3. 同样是定义一个简单的函数,有时候lambda更加清晰明了
def的作用
1.可重复利用
2.区分度高
3.内容可以更加丰富