函数与Lambda表达式

在这里插入图片描述

函数传递

#*score是一个元组,说明可能有很多门成绩
def avg(*scores):
    return sum(scores)/len(scores)

result= avg(98.2,88.1,70,65)
print(result)
emp={
    'name':'TOM',
    'age':22,
    'job':'dev'
}

def display(**employee):
#*emplyee表示传递一个元组,**employee表示传递一个字典表
    print(employee)

display(name='TOM',age=22,job='dev')
def fun(a,b,*args,**kwargs):
#*arges仅传值,**kwargs是值和类别都传递

Lambda表达式

f= lambda name:print('hello',name)
#定义了一个函数,并接收了一个参数叫name,并在打印的时候把name加上了
f('tom')
def hello_chinese(name):
    print('您好',name)

def hello_english(name):
    print('hello',name)

def hello_japanese(name):
    print('扩你急哇',name)

while True:
    name=input('请输入姓名:\n')
    if name == 'stop':
        break
    language =input('请选择版本语言:\n c=> 中文版\n e=> 英文版\n j =>日本版\n r=> 俄文版\n')

    f= lambda name: print('npbet',name)

    if language == 'c':
        hello_chinese(name)
    elif language == 'e':
        hello_english(name)
    elif language == 'j':
        hello_japanese(name)
    elif language =='r':
        f(name)
def hello_chinese(name):
    print('您好',name)

def hello_english(name):
    print('hello',name)

def hello_japanese(name):
    print('扩你急哇',name)

operation={
    'e':hello_english,
    'c':hello_chinese,
    'j':hello_japanese,
    'r':lambda name:print('npbet',name)
}

while True:
    name=input('请输入姓名:\n')
    if name == 'stop':
        break
    language =input('请选择版本语言:\n c=> 中文版\n e=> 英文版\n j =>日本版\n r=> 俄文版\n')

    operation.get(language,hello_chinese)(name)
#get是指引用了以上函数,并未执行;若要执行,需加上参数(name),hello_chinese是指万一写错了就默认中文版

map函数

l=list(range(1,21))

result =[]

def add_number(x):
    return x+5

#1.使用循环
for x in l:
        result.append(x+5)


#2.使用推导
result=[x+5 for x in l ]
print(result)


#3.map()
result =list(map(add_number,l))
#将l里的每个参数都传递给add_number里进行操作,并在放到一个新的列表里

#3.map()
result =list(map((lambda n:n**2),1))

filter函数

l= list(range(1,11))
#判断是否为偶数

def even_number(x):
    return x%2 == 0

res= filter(even_number,l)
#从l里选出符合even_number符合条件的放到res列表里
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值