网站怎么做数据接口,如何用wordpress创建主页,直播视频素材,怎么把网站上传到域名文章目录 #x1f68b;前言#x1f680;一、认识函数#x1f308;二、函数定义❤️三、函数调用⭐四、实参与形参#x1f4a5;1. 形式参数#x1f6b2;2. 实际参数#x1f525;1. 位置参数☔2. 关键字参数#x1f3ac;3. 默认参数#x1f525;4. 可变数量参数(不定长参… 文章目录 前言一、认识函数二、函数定义❤️三、函数调用⭐四、实参与形参1. 形式参数2. 实际参数1. 位置参数☔2. 关键字参数3. 默认参数4. 可变数量参数(不定长参数)5. 不定长位置参数☔6. 不定长关键字参数 五、了解匿名函数六、 定义匿名函数☔2. 总结 前言 函数在Python中扮演着至关重要的角色它们不仅封装了代码的逻辑单元提高了代码的复用性和模块化程度还通过参数传递和返回值实现了数据和结果的灵活交换。Python函数支持多种定义方式从最基础的def关键字开始你就能创建自定义函数通过return语句指定函数的输出。更进一步Python引入了匿名函数lambda允许你在无需命名的情况下定义简短的函数表达式非常适合处理小规模、一次性使用的功能片段。参数机制是Python函数的另一大亮点支持位置参数、关键字参数、默认参数、可变参数等多种形式使得函数设计更为灵活能够应对多样化的输入需求。同时函数的局部作用域与全局作用域的概念以及闭包的运用为理解和管理变量生命周期提供了清晰的框架。Python还支持高阶函数即函数可以作为参数传递给其他函数或是作为其他函数的返回值这为函数式编程风格打开了大门极大地拓展了代码的表达力和抽象层次。
一、认识函数
在Python中函数是一种可重用的代码块用于执行特定的任务。通过将代码封装在函数中可以使程序更加模块化、易于维护和扩展。
当我们需要在程序中执行一些重复性的任务时可以使用函数来封装这些任务代码然后在需要的地方调用该函数。
优势
函数能够提高代码的可读性和可维护性因为它们能够将复杂的任务分解成小块并命名好每个部分。函数可以节省时间和减少出错率因为它们能够避免重复编写相同的代码从而提高开发效率。函数可以使程序更模块化使得代码更加清晰和容易组织。
二、函数定义
# Python 中定义函数的基本语法如下
def 函数名(参数1, 参数2, ...):# 函数体return 返回值def 是定义函数的关键字函数名 是自己取的函数名称应符合变量命名规则以便调用函数时使用该名称
参数1, 参数2, … 是需要传递给函数的零个或多个参数多个参数之间用逗号分隔
函数体中是实现具体功能的代码
return 返回值 是返回函数结果的关键字和表达式。return 后面的表达式可以是常量、变量、运算表达式等也可以没有返回值即不带表达式直接使用 return。
# 计算两个数的和的函数
def add(x, y):result x yreturn resultprint(add(3, 4)) # 7# 实现了一个计算平均数和和值的函数
def calculate(numbers):计算给定列表的平均数和和值参数numbers: 一个包含数字的列表返回值一个由两个元素组成的元组和值和平均数total sum(numbers)mean total / len(numbers)return (total, mean)❤️三、函数调用
函数名(参数)def add(x, y):result x yreturn resultprint(add(3, 4)) # 7
定义了一个名为 add 的函数接受两个参数 x 和 y并将它们相加得到 result最后返回结果。通过调用 add(3, 4)我们可以打印出 7。def calculate(numbers):计算给定列表的平均数和和值参数numbers: 一个包含数字的列表返回值一个由两个元素组成的元组和值和平均数total sum(numbers)mean total / len(numbers)return (total, mean)
定义了一个名为 calculate 的函数接受一个列表 numbers 并计算它的和值和平均数。
函数的返回值是一个由两个元素组成的元组即和值和平均数。
同时我们还添加了文档字符串Docstring来描述函数的功能、参数和返回值以便其他开发人员更容易地理解函数的作用和使用方法。
numbers [1, 2, 3, 4, 5]
total, mean calculate(numbers)
print(总和, total)
print(平均数, mean)
总和 15
平均数 3.0首先定义了一个列表 numbers然后将它作为参数传递给 calculate 函数并使用两个变量 total 和 mean 分别接收返回的和值和平均数。最后打印出这两个变量的值。⭐四、实参与形参
函数参数分为实际参数实参和形式参数形参它们用于在函数定义和调用中传递数据。
在 Python 中有三种传递实参的方式位置参数、关键字参数和可变数量参数(不定长参数)。
位置参数是指按照形参的顺序传递实参
关键字参数是指通过使用实参的名称将它们传递给函数
可变数量参数(不定长参数)允许我们传递任意数量的实参。1. 形式参数
形式参数也称为形参是指在函数定义中声明的变量。即在定义函数时使用的变量名。形参只有在函数内部可见因此函数外部无法直接访问它们。
def greet(name):print(fHello, {name}!)greet(Alice) # 输出Hello, Alice!# 函数 greet() 中我们定义了一个形参 name。当函数被调用时它将使用调用语句中提供的实参将该值设置为实参。2. 实际参数
实际参数也称为实参是指在函数调用中提供给函数的值。实参可以是字面常量值、变量、表达式或其他函数调用的返回值。
def add(a, b):result a bprint(fThe sum of {a} and {b} is {result})add(2, 3) # 调用函数并传入实参 2 和 3# add() 中我们接受两个形式参数即 a 和 b。当函数被调用时它们将使用传递的实际参数进行赋值。1. 位置参数
在函数定义时可以指定一些位置参数这些参数的值由函数调用者提供在函数内部通过参数名来访问它们。 位置参数的顺序很重要因为 Python 根据其在函数定义中的位置来确定它们具有哪些值。
def add(a, b):return a bresult add(2, 3) # 调用函数并传入位置参数 2 和 3
print(result) # 输出 5add() 接受两个位置参数即 a 和 b。调用该函数时我们需要按照函数定义中参数的顺序传递实参。在上面的示例中我们将整数 2 和 3 作为实参传递给 add() 函数。
☔2. 关键字参数
关键字参数与位置参数不同不需要按照函数定义中的位置传递它们。 相反你可以通过指定参数名来将实参传递给函数。
def greet(name, message):print(f{name}, {message})greet(messageHello, nameAlice) # 通过指定参数名传递实参函数 greet() 中我们定义了两个参数name 和 message。然后我们调用该函数时通过指定参数名来传递实参不需要按照函数定义中的位置进行。在上面的示例中我们首先将字符串 Hello 作为 message 参数传递然后将字符串 Alice 作为 name 参数传递。
3. 默认参数
在 Python 中还可以使用默认参数来指定在调用函数时未传递参数的默认值。如果函数被调用时没有指定可选参数的值则自动使用默认值。
def greet(name, messageHello):print(f{name}, {message})greet(Alice) # 使用默认参数值
greet(Bob, messageHi there!) # 覆盖默认值greet()中我们使用默认参数来指定 message 参数的默认值为字符串 Hello。当函数被调用时如果未传递 message 参数则默认使用该值。在第一个示例中我们仅传递了 name 参数并且 message 参数自动使用默认值。在第二个示例中我们通过指定参数名来覆盖默认值。
4. 可变数量参数(不定长参数)
函数的可变数量参数允许我们传递任意数量的实参。有两种类型的可变数量参数不定长位置参数和不定长关键字参数。
5. 不定长位置参数
不定长位置参数使用星号*表示它允许我们传递任意数量的位置实参给函数并将这些实参封装到一个元组中。
def add(*args):result 0for arg in args:result argreturn resultprint(add(2, 3)) # 输出5
print(add(2, 3, 4, 5)) # 输出14# 函数 add() 中我们将参数 *args 声明为不定长位置参数。当函数被调用时Python 将所有传递的位置实参封装到一个元组中并将该元组分配给变量 args。
# 在函数内部我们可以像操作普通元组一样迭代元组中的每个值并使用它们来执行特定操作。☔6. 不定长关键字参数
不定长关键字参数使用两个星号**表示它允许我们传递任意数量的关键字实参给函数并将这些实参封装到一个字典中。注意该字典的键是参数名值是对应的参数值。
def greet(**kwargs):for name, message in kwargs.items():print(f{name}, {message})greet(AliceHello, BobHi there!)# 函数 greet() 中我们将参数 **kwargs 声明为不定长关键字参数。当函数被调用时Python 将所有传递的关键字实参封装到一个字典中并将该字典分配给变量 kwargs。# 在函数内部我们可以像操作普通字典一样访问字典中的每个键值对并使用它们来执行特定操作。五、了解匿名函数
可以使用lambda关键字创建匿名函数。匿名函数也称为“lambda函数”因为它们没有显示的函数名称。 Lambda函数是一种快速定义简单函数的方式它不需要使用def关键字来定义函数而是通过一个表达式来实现函数功能并使用lambda关键字将其包装起来。Lambda函数通常用于需要临时定义函数的场合。
# 基本语法
lambda arguments: expressionarguments是函数的参数可以有多个用逗号隔开
expression是函数的一个表达式用于计算返回值。
Lambda函数只能包含一个表达式该表达式的运算结果即为该函数的返回值。六、 定义匿名函数
# 使用Lambda函数求平方和
sum lambda x, y: x**2 y**2
print(sum(3, 4)) # 输出25☔2. 总结
ython中的匿名函数通常被称为lambda函数是一种简洁的函数定义方式无需使用def关键字声明函数名。Lambda函数的名称源自λ演算这是一种用于函数式编程的基础理论。在Python中lambda函数主要用于定义简短的、单行表达式式的函数通常在需要小范围、即时使用的函数场合下发挥其独特优势。