Python函数进阶(函数作为参数传递,匿名函数)-创新互联
函数多返回值:(位置传参、关键字传递参数,不定长传参)
我们提供的服务有:成都做网站、成都网站设计、微信公众号开发、网站优化、网站认证、河西ssl等。为上千多家企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的河西网站制作公司位置传参:调用函数时根据函数定义的参数位置来传递参数
def test_return(name,age,gender): #定义一个函数方法 # print(name,age,gender) # return # test_return("马远远",18,"男") #函数调用
关键字传递参数:函数调用时调用时通过“键 = 值” 形式传递参数。
def user_info(name,age,gender): # print(f"姓名是{name},年龄是:{age},性别是:{gender}") #关键字参数 # user_info(name = '小王',age = 11,gender = '女') # user_info('甜甜',gender = '女',age = 9) #例2
调用的时候可以通过输入元素的键值来调用参数的值,传参的时候,元素内容可以是无序的
可以和位置参数混用,位置参数必须在前,且匹配参数顺序 如例2
缺省参数:
缺省参数也叫默认值参数,用于定义函数,为参数提供默认值,调用函数可不传默认参数的值(注意:所有位置参数必须出现在默认参数前,包括函数定义和调用)/
def user_info( age, gender,name = "马致远"): # print(f"姓名:{name},年龄是{age },性别是{gender}") user_info(13,gender = '女') # 你没有给已经设定了默认值这里传递参数,他就会返回默认值的参数 user_info('小天',13,'女') #你给已经设定了默认值这里传递新的参数,新的参数就会覆盖掉你默认值传递的参数。
不定长传参: 不定长参数也叫可变参数,用于不确定调用的时候会传递多少个参数,(不传参数也可以)的场景。
#不定长 - 位置不定长, *号 # def user_info(*args): # arges 就如变量名一样,自己定义的, # print(f"arges参数的类型是:{type(args)},内容是:{args}") #不定长定义的形式,会将传入的参数合并为一个元组 # user_info(1,2,3,'小明')
使用场景:当调用函数时不确定参数个数时,可以使用不定长参数
匿名函数:关键字(Lambda)
对于一些功能比较简单的函数我们可以使用匿名函数来进行定义
quadratic_sum = lambda x ,y :x * x + y *y
print(quadratic_sum(3,4))
我们通过lambda 关键字定义实现求平方和和功能的匿名函数, quadratic_sum 接受了,x的平方+y的平方和的数值。这种方式的优点呢,比常规写法更加简洁简短。
为什么称为匿名函数呢,因为定义lamdba表达式没有函数名,quadratic_sum是接收匿名函数的对象,不是函数名称。使用匿名函数时,只是适用一些函数体比较简单的场景,函数体比较复杂的时候不建议使用。
重点:函数作为参数:函数作为参数传递,其实,我们学习的函数本身,也可以将函数自身作为参数传入另一个函数内。
啥意思呢? 就是你使用一个函数,可以把另一个函数作为参数来使用,以完成特定功能。
#定义一个函数,接受另一个函数作为传入参数 # def test_func(compute):# 接受参数 # result = compute(1,2) #确定compute是函数 # print(f"compute参数的类型是:{type(compute)}") # #定义一个函数,准备作为参数传入另一个函数 # def compute(x,y): # return x + y # #调用,并传入参数 # test_func(compute)
实在看不懂:
def add(x, y func): #add 接受传入的(2,-1,abs) func 就变成了 abs
return fun(x) + func(y) #其实本质是返回abs(2)+ abs(-1)
print(add (2,-1,abs) # abs 是求绝对值的内置函数,是python函数自己定义好的。
总结:今天开始逐步放假,我还在写,我是不是特别棒!
你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧
分享标题:Python函数进阶(函数作为参数传递,匿名函数)-创新互联
文章分享:http://scjbc.cn/article/diessg.html