网站建设资讯

NEWS

网站建设资讯

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://cdweb.net/article/diessg.html