Day 6&7 :函数与Lambda表达式
函数 Function
- 使用def定义函数
def MyFirstFunction():
print('I love Python!')
print('I love NCEPU!')
print('我爱烧锅炉!!!')
MyFirstFunction()
#I love Python!
#I love NCEPU!
#我爱烧锅炉!!!
- ( )内可加入参数,理论上加入的参数没有上限,函数内部称为形参,输入值称为实参。
- 使用 return 可以返回函数值
def MySecondFuction(name):#name为形参
print('Hi, '+name+'!')
MySecondFuction('Python')#Python为实参
#Hi,Python!
def add(num1,num2):
result=num1+num2
print(result)
add(3,4)#7
def temp(num):
if num>10:
return 1
else:
return 0
temp(5)#0
temp(20)#1
- 关键字参数
在参数较多的情况下,使用关键字参数可以避免因输入顺序混淆而产生错误
def say(name,words):
print(name+ 'love'+ words)
say(name='I',words='Python')#I love Python
say(words='Python',name='I')#I love Python
- 默认参数
给函数赋予一个默认值,防止函数因空值而报错
def say(name='I',words='Python'):
print(name+ 'love'+ words)
say()#I love Python #在()内不输入参数便会直接输出默认值
say(They)#They love Python #在()内赋值会替换掉默认值输出新的结果
- 收集参数
在参数前加一个*
def test(*params):
print('参数的长度是:',len(params))
print('第二个参数是:',params[1])
test(1,2,3,4,5)
#参数的长度是: 5
#第二个参数是: 2
- 递归函数
函数在内部调用函数本身
def fun(n):
if n==1:
return 1
else:
return n*fun(n-1)
fun(5)#120
fun(10)#3628800
- 匿名函数
Python 允许使用Lambda关键字创建匿名函数
Lambda函数作用及意义
- 使用lambda函数可以省下定义函数过程,使得代码更加精简
- 对于某些比较抽象且只使用一两次的函数,使用lambda函数不需要考虑给函数命名的问题
- 简化代码的可读性,使用lambda函数不用通过def定义
g=lambda x:2*x+1
g(5)#11