漯河网站优化,景区网站建设方案,无锡百度信息流,附近学电脑在哪里报名#x1f4dd;前言#xff1a; 这篇文章主要记录一下在python中#xff0c;关于函数的进阶常用知识#xff0c;建议对编程中的函数有一定了解的读者阅读#xff0c;如果想了解一下函数的最基础内容#xff0c;也可先看这篇文章C语言——函数 在本文#xff0c;我会主要讲…前言 这篇文章主要记录一下在python中关于函数的进阶常用知识建议对编程中的函数有一定了解的读者阅读如果想了解一下函数的最基础内容也可先看这篇文章C语言——函数 在本文我会主要讲解有关函数的下面几个知识 1函数的多个返回值 2函数的多种传参方式 3匿名函数 个人简介努力学习ing 个人专栏C语言入门基础以及python入门基础 CSDN主页 愚润求学 每日鸡汤焚膏继晷兀兀穷年 文章目录 一函数的多个返回值二函数的多种传参方式1位置参数2关键字参数3缺省参数4不定长参数1位置传递*2关键字传递** 三匿名函数 一函数的多个返回值
我们都知道用return可以接受函数的返回值有意思的是在 python 中一个函数可以返回多个值并且这些返回值可以是不同类型的。 这在实际上相当于返回一个元组tuple但为了使代码更具可读性Python 允许你直接返回多个值而不需要显式地创建一个元组。当我们接收多个返回值的时候我们需要用对应数量的变量来接受。
如下
def get_name_and_age():name Aliceage 25return name, age # 这会返回一个元组 ((Alice, 25),)name, age get_name_and_age()
print(name)
print(age)在上面的例子中get_name_and_age 函数返回了两个值name 和 age。在调用该函数时我们使用逗号分隔符来接收这两个返回值并将它们分别赋值给 name 和 age 变量。 二函数的多种传参方式
在python中函数有多种传参方式。使用方式的不同函数中有4种常见参数使用方法 1位置参数2关键字参数3缺省参数4不定长参数 下面我们就来依次讲解一下这四种不同的参数
1位置参数
python 中的位置参数是最基本和最常见的参数类型。它们按照在函数定义中的位置传递不需要使用参数名称来指定。传递的参数和定义的参数的顺序及个数必须一致
以下是一个简单的示例来说明如何使用位置参数
def greet(name, age):print(fHello {name}, you are {age} years old!)# 使用位置参数调用函数按顺序传参
greet(Alice, 25)在这个例子中name 和 age 都是位置参数。它们按照它们在函数定义中的位置传递。 2关键字参数
关键字传参函数调用时通过“键值”的形式传递参数 作用可以让函数更加清晰、容易使用同时也清除了参数的顺需求。 注意函数调用时如果有位置参数时位置参数必须在关键字参数的前面
如下
def user_info(name,age,gender):print(f您的名字是:{name}年龄是:{age}性别是:{gender})# 关键字传参
user_info(name小明, age20, gender男)# 可以不按照固定顺序
user_info(age20, gender男, name小明)# 可以和位置参数混用但是位置参数必须在前且位置参数要匹配参数顺序
user_info(小明, age20, gender男)3缺省参数
在python中缺省参数也称为默认参数是在函数定义中为参数提供的默认值。当函数调用中未提供该参数的值时将使用该默认值。注意所有位置参数必须出现在默认参数前包括函数定义和调用默认参数要放在最后
例如考虑以下函数定义该函数接受一个可选的age参数并提供一个默认值
def greet(name, age25):print(fHello, {name}! You are {age} years old.)在这个函数中name是必需的位置参数而age是可选的其默认值为25。 我们可以调用这个函数而不提供age参数如下所示
greet(Alice) # 输出: Hello, Alice! You are 25 years old.我们还可以提供age参数的值如下所示
greet(Bob, 30) # 输出: Hello, Bob! You are 30 years old.在这个例子中我们使用默认参数age来简化函数调用使其更易于使用。 我们不需要在每次调用函数时都提供age参数除非我们想要覆盖默认值。 当我们不想使用默认值时只需提供age参数并为其赋值即可 4不定长参数
不定长参数不定长参数也叫可变参数用于不确定调用的时候会传递多少个参数不传参也可以的场景。 当我们调用函数时不确定参数个数时就可以使用不定长参数
不定长参数又分两种用于位置传递* 和 用于关键字传递**
1位置传递*
当使用一个星号*在函数参数中时它表示收集位置参数将其放入一个元组中。这允许你在函数中使用多个参数而不需要明确指定每个参数的名称。 在函数调用中你可以使用任意数量的位置参数例如
def print_all(*args):for arg in args:print(arg)
print_all(1, 2, 3, 4, 5)在这里*args就是用于位置传递的不定长参数当我们传入任意数量的位置参数时都会被*args接收 2关键字传递**
当使用两个星号**在函数参数中时它表示收集关键字参数将其放入一个字典中。这允许你在函数中使用多个参数而不需要明确指定每个参数的名称。 在函数调用中你可以使用任意数量的关键字参数例如
def print_key_values(**kwargs):for key, value in kwargs.items():print(f{key}: {value})
print_key_values(nameAlice, age25, countryUS)这里的**kwargs就是用于传递关键字的不定长参数当我们传入任意数量的关键字参数时都会被**kwargs接收同时会根据“键值”来组成字典 注意一般情况下没有特殊需求我们在使用不定长参数时形参都用*args或**kwargs来命名这是规范
三匿名函数
在 python 中匿名函数是没有名字的函数它们通常用于需要一个函数对象的场景但不需要为这个函数对象起一个名字。 匿名函数也被称为 lambda 函数因为它们可以写作 lambda 表达式。
但是要注意 1这种函数只能被使用一次。 2只能有一条语句无法包含多条语句。 3会自动返回结果无法使用return语句
lambda函数的语法如下
lambda arguments: expression其中 arguments 是传递给函数的参数而 expression 是要计算的表达式。 下面是一些使用匿名函数的例子 1使用 lambda 函数计算两数之和
add lambda x, y: x y
print(add(3, 4)) # 输出 72使用 lambda 函数计算平方
square lambda x: x ** 2
print(square(3)) # 输出 93在 Python 3.x 中可以在列表解析中使用 lambda 函数
numbers [1, 2, 3, 4, 5]
squares list(map(lambda x: x ** 2, numbers))
print(squares) # 输出 [1, 4, 9, 16, 25]注意函数作为参数传递的时候传递的是函数体也就是函数的执行逻辑 我的分享也就到此结束啦 要是我的分享也能对你的学习起到帮助那简直是太酷啦 若有不足还请大家多多指正我们一起学习交流 公主王子点赞→收藏⭐→关注 感谢大家的观看和支持祝大家都能得偿所愿天天开心