python基础(七)函数

函数与lambda表达式

在Python中,定义一个函数要使用def语句,依次写出函数名、括号、括号中的参数和冒号:,然后,在缩进块中编写函数体,函数的返回值用return语句返回
eg:def hello():
print(‘hello’)
hello()
def hello(name):
print(‘hello’,name)
hello(‘tom’)
函数的其他类型
参数的匹配
eg:def func(a,b,c):
print(a,b,c)
func(1,2,3)
参数不做处理时,按照位置匹配,按照名称匹配,默认传值
eg:计算平均分
def ave(s1,s2):
return(s1+s2)/2
result=avg(98,96)
print(result)
使用元组tuple
def avg(score,score):接收元组参数
return sum(score)/len(scores)
result=avg(98,97,96,94)
print(result)
定义时加
,表示多个变量参数,解包的时候加*
*args 任意数量参数
def display_employee(name):
print(name)
**表示的是键值对
**kwargs 关键字参数
解包也是两个星号
——————————————————、
lambda表达式不是语句
def avg(a,b)
return a+b
def hello(name):
print(name)
f=lambda name:print(name)
f(‘tom’)
定义匿名函数或者嵌套在某个语句当中
基本格式:
lambda参数,……:函数(只是表达式 不是语句)
def hello_chinese(name)
print(‘nihao:’,name)
def hello_english(name)
print(‘hello:’,name)
while true:
name=input(‘请输入您的姓名:\n’)
if name==‘stop’
break
language=input(‘请选择语言:\n c=>中文版 e=> 英文版\n j=> 日文版\n’)
if language == ‘c’
hello_chinese(name)
elif language==‘e’:
hello_english(name)
elif language==‘j’:
(lambda name:print(‘拟好’,name))(name)

函数

def hello(name):
print(‘hello’,name)
f=lambda name,age:print()

def hello(action,name):为了封装不同的语言 不同的函数
action(name)
hello(hello_chinese,‘tom’)
hello(lambda name:print(‘nihao’,name),‘tom’)
eg:
有一个列表
l=list(range(1,21))
result=[ ]
1.使用循环
for n in l:
if n%20:
result.append(n)
2.使用推导
result =[x for x in l if x %2
0]
print(result)
3.map
res=list(map(add_number,l))
print(res)
res=list(map((lambda n: n**2),1))
print(res)
高级工具 :map(函数,可迭代对象)
filter(函数,可迭代对象)
可迭代的一个对象,不是结果

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值