07-python函数的进阶-函数的多返回值/函数的多种传参方式/匿名函数/lambda函数

简介: 07-python函数的进阶-函数的多返回值/函数的多种传参方式/匿名函数/lambda函数

01-函数的多返回值

只执行一次rteturn

那么如何返回多个返回值呢?

多个返回值

"""
演示函数的多返回值
"""
#演示使用多个变量,接收多个返回值
def test_return():
    return 1,2,3
x,y,z=test_return()
print(x)
print(y)
print(z)

返回值的类型是不受限的。

"""
演示函数的多返回值
"""
#演示使用多个变量,接收多个返回值
def test_return():
    return 1,"hello",True
x,y,z=test_return()
print(x)
print(y)
print(z)

02-函数的多种传参方式

函数参数的种类

位置参数

关键字参数

关键字参数

e2db0bd307423bf556de01e180971e66.png

"""
演示多种传参的形式
"""
#位置参数-默认使用形式
def user_info(name,age,gender):
    print(f"姓名是:{name},年龄:{age},性别:{gender}")
user_info('小明',20,'男')

"""
演示多种传参的形式
"""
#位置参数-默认使用形式
def user_info(name,age,gender):
    print(f"姓名是:{name},年龄:{age},性别:{gender}")
# user_info('小明',20,'男')
#关键字参数
user_info(name='小王',age=11,gender='女')

"""
演示多种传参的形式
"""
#位置参数-默认使用形式
def user_info(name,age,gender):
    print(f"姓名是:{name},年龄:{age},性别:{gender}")
# user_info('小明',20,'男')
#关键字参数
# user_info(name='小王',age=11,gender='女')
#关键字参数也可以乱序,不会影响效果,而位置参数就需要一一对应
user_info(name='小王',gender='女',age=11)

"""
演示多种传参的形式
"""
#位置参数-默认使用形式
def user_info(name,age,gender):
    print(f"姓名是:{name},年龄:{age},性别:{gender}")
# user_info('小明',20,'男')
#关键字参数
# user_info(name='小王',age=11,gender='女')
#关键字参数也可以乱序
# user_info(name='小王',gender='女',age=11)
#关键字参数和位置参数混用,且关键字参数位置先后不影响结果
user_info('甜甜',gender='女',age=9)

缺省参数

如上图中就是在gender没有传递参数时候,就会默认为gender=男

#缺省参数(默认值)很明显最后一个是缺省参数,在最后面
def user_info(name,age,gender='男'):
    print(f"姓名是:{name},年龄:{age},性别:{gender}")
user_info('小天',13)
user_info('小天',13,gender='女')#当再传入一个参数值时,默认值回1发生改变,只有当没有传入参数值时,会使用默认值

==注意==:要使用默认数值,必须将默认值放到最后。否则将会报错,必须统一的都在最后,可以是最后一个,也可以是最后有两个是默认值。

不定长参数

位置传递

不定长是指的就是参数的数量是可以任意数量的。位置传递的不定长是使用*号的关键字,args所接受的数量是无限的。

因为数量不定,所以args接收的是一个元组,元组可以存储多份元素。

关键字传递

两个星号,表示数量也是任意的,同时他的内容必须满足key等于键值对这种形式。传入参数时候,按照key=value的形式,传进去的数据就会按照字典形式存储,

#不定长-位置不定长,*号
#不定长定义的形式参数会作为元组存在,接收不定长数量的参数传入
def user_info(*args):
    print(f"args参数的类型是:{type(args)},内容是:{args}")
user_info(1,2,3,'小明','男孩')

#不定长-关键字不定长,**号 key -word
def user_info(**kwargs):
    print(f"args参数的类型是:{type(kwargs)},内容是:{kwargs}")
user_info(name='小王',age=11,gender='男孩',addr='北京')

总结

args和kwargs只是习惯上写,但是一般都是会默认遵守

03-匿名函数-函数作为参数传递

传入数据的形式是指:数据不确定,但是计算逻辑已经确定好了,在函数内部已经写好了,就等着计算了

函数的传入形式:被计算的数据可以是确定的,而计算数据的逻辑是不确定的

"""
演示函数作为参数传递
"""
#定义一个函数,接收另一个函数作为传入参数
def test_func(compute):
    result=compute(1,2)  #确定compute是函数
    print(f"compute参数的类型是:{type(compute)}")
    print(f"计算结果是:{result}")
#定义一个函数,准备作为参数传入另一个函数
def compute(x,y):
    return x + y
#调用,并传入函数
test_func(comput)

总结

04-匿名函数-lambda函数

匿名函数定义的语法

lambda函数

lambda不用return 它是默认return的。

"""
演示lambda匿名函数
"""
#定义一个函数,接受其他函数输入
def test_func(compute):
    result=compute(1,2)
    print(f"结果是:{result}")
#通过lambda匿名函数的形式,将匿名函数作为参数传入
test_func(lambda x,y:x+y)


相关文章
|
26天前
|
Python
Python调用函数并获取返回值
通过本文的介绍,我们详细了解了如何在Python中定义和调用函数,传递参数,以及获取函数的返回值。掌握这些基本操作是编写高效、清晰和可维护Python代码的基础。希望这些内容能够帮助你在实际编程中更好地使用函数。
48 18
|
1月前
|
Python
[oeasy]python057_如何删除print函数_dunder_builtins_系统内建模块
本文介绍了如何删除Python中的`print`函数,并探讨了系统内建模块`__builtins__`的作用。主要内容包括: 1. **回忆上次内容**:上次提到使用下划线避免命名冲突。 2. **双下划线变量**:解释了双下划线(如`__name__`、`__doc__`、`__builtins__`)是系统定义的标识符,具有特殊含义。
32 3
|
1月前
|
JSON 监控 安全
深入理解 Python 的 eval() 函数与空全局字典 {}
`eval()` 函数在 Python 中能将字符串解析为代码并执行,但伴随安全风险,尤其在处理不受信任的输入时。传递空全局字典 {} 可限制其访问内置对象,但仍存隐患。建议通过限制函数和变量、使用沙箱环境、避免复杂表达式、验证输入等提高安全性。更推荐使用 `ast.literal_eval()`、自定义解析器或 JSON 解析等替代方案,以确保代码安全性和可靠性。
45 2
|
2月前
|
数据采集 JSON API
如何利用Python爬虫淘宝商品详情高级版(item_get_pro)API接口及返回值解析说明
本文介绍了如何利用Python爬虫技术调用淘宝商品详情高级版API接口(item_get_pro),获取商品的详细信息,包括标题、价格、销量等。文章涵盖了环境准备、API权限申请、请求构建和返回值解析等内容,强调了数据获取的合规性和安全性。
|
1月前
|
存储 人工智能 Python
[oeasy]python061_如何接收输入_input函数_字符串_str_容器_ 输入输出
本文介绍了Python中如何使用`input()`函数接收用户输入。`input()`函数可以从标准输入流获取字符串,并将其赋值给变量。通过键盘输入的值可以实时赋予变量,实现动态输入。为了更好地理解其用法,文中通过实例演示了如何接收用户输入并存储在变量中,还介绍了`input()`函数的参数`prompt`,用于提供输入提示信息。最后总结了`input()`函数的核心功能及其应用场景。更多内容可参考蓝桥、GitHub和Gitee上的相关教程。
16 0
|
2月前
|
Python
Python中的函数是**一种命名的代码块,用于执行特定任务或计算
Python中的函数是**一种命名的代码块,用于执行特定任务或计算
64 18
|
2月前
|
数据可视化 DataX Python
Seaborn 教程-绘图函数
Seaborn 教程-绘图函数
87 8
|
9月前
|
存储 Python
Python函数式编程,如何编写匿名函数(lambda表达式)?
Python函数式编程,如何编写匿名函数(lambda表达式)?
105 2
|
8月前
|
存储 Python
在Python中,匿名函数(lambda表达式)是一种简洁的创建小型、一次性使用的函数的方式。
【6月更文挑战第24天】Python的匿名函数,即lambda表达式,用于创建一次性的小型函数,常作为高阶函数如`map()`, `filter()`, `reduce()`的参数。lambda表达式以`lambda`开头,后跟参数列表,冒号分隔参数和单行表达式体。例如,`lambda x, y: x + y`定义了一个求和函数。在调用时,它们与普通函数相同。例如,`map(lambda x: x ** 2, [1, 2, 3, 4, 5])`会返回一个列表,其中包含原列表元素的平方。
71 4
|
9月前
|
C++ 计算机视觉 Python
【学习什锦】python中的匿名函数(lambda)与max、key参数
【学习什锦】python中的匿名函数(lambda)与max、key参数
94 3

热门文章

最新文章