当前位置: 首页 > news >正文

20.Python从入门到精通—参数 位置参数 关键字参数 默认参数 匿名函数 return 语句 强制位置参数

20.从入门到精通:参数 位置参数 关键字参数 默认参数 匿名函数 return 语句 强制位置参数

    • 参数
      • 位置参数
      • 关键字参数
      • 默认参数
    • 匿名函数
    • return 语句
    • 强制位置参数

参数

在Python中,函数可以接受任意数量的参数,包括位置参数、关键字参数和默认参数。以下是这些参数类型的详细介绍:

位置参数

位置参数是最常见的参数类型,它们按照定义的顺序传递给函数。例如,下面的函数接受两个位置参数:

def add_numbers(x, y):return x + y

调用这个函数时,必须按照定义的顺序传递两个参数:

result = add_numbers(1, 2)
print(result)  # 输出 3

关键字参数

关键字参数是指在调用函数时,使用参数名来指定参数的值。例如,下面的函数接受两个关键字参数:

def greet(name, greeting):print(f"{greeting}, {name}!")

调用这个函数时,可以使用参数名来指定参数的值:

greet(name="Alice", greeting="Hello")  # 输出 "Hello, Alice!"

关键字参数可以使函数调用更加清晰和易于理解,尤其是在函数接受多个参数时。

默认参数

默认参数是指在定义函数时,为参数指定一个默认值。如果调用函数时没有为这个参数传递值,则使用默认值。例如,下面的函数接受一个默认参数:

def greet(name, greeting="Hello"):print(f"{greeting}, {name}!")

调用这个函数时,可以只传递一个参数,而使用默认值来填充另一个参数:

greet("Alice")  # 输出 "Hello, Alice!"
greet("Bob", "Hi")  # 输出 "Hi, Bob!"

默认参数可以使函数调用更加简洁和易于使用,尤其是在函数的某些参数经常使用相同的值时。
以上是Python中函数参数的基本介绍,掌握函数参数的使用方法可以使我们编写更加灵活和高效的代码。

匿名函数

在 Python 中,匿名函数又称为 lambda 函数,是一种简单的函数定义方式,可以在一行代码中定义函数。lambda 函数的语法如下:

lambda arguments: expression

其中,arguments 是函数的参数列表,用逗号分隔;expression 是函数的返回值表达式。
下面是一个简单的 lambda 函数示例:

f = lambda x, y: x + y
print(f(1, 2))  # 输出 3
  1. 在这个例子中,我们使用 lambda 函数定义了一个函数 f,它接受两个参数 x 和 y,并返回它们的和。我们将 lambda 函数赋值给变量 f,然后调用 f 函数并传递参数 1 和 2,输出结果为 3。
  2. lambda 函数通常用于需要定义简单函数的场合,例如在函数中需要传递一个函数作为参数。

下面是一个使用 lambda 函数作为参数的示例:

numbers = [1, 2, 3, 4, 5]
squares = map(lambda x: x ** 2, numbers)
print(list(squares))  # 输出 [1, 4, 9, 16, 25]

在这个例子中,我们使用 map() 函数将列表 numbers 中的每个元素求平方,使用 lambda 函数 lambda x: x **
2 定义了一个简单的平方函数。map() 函数将 lambda 函数作为第一个参数,将列表 numbers
作为第二个参数,并返回一个可迭代对象,我们使用 list() 函数将其转换为列表并输出结果。

需要注意的是,lambda 函数通常用于定义简单的函数逻辑,如果函数逻辑比较复杂,建议使用普通函数来定义。

return 语句

在Python中,return语句用于从函数中返回一个值,并结束函数的执行。以下是一个示例,展示如何使用return语句从函数中返回一个值:

def add_numbers(x, y):result = x + yreturn resultsum = add_numbers(1, 2)
print(sum)  # 输出 3

在这个示例中,我们定义了一个名为add_numbers()的函数,它接受两个参数x和y,并计算它们的和。在函数内部,我们使用return语句返回计算结果result。在调用函数时,我们将返回的值赋给变量sum,并使用print()函数将其打印出来。

return语句可以帮助我们在函数内部计算出结果并将其返回给调用者。这使得函数可以在不同的上下文中重复使用,从而提高代码的复用性和可维护性。

强制位置参数

在 Python 中,可以使用 * 来强制位置参数,即在函数定义时, 后面的参数必须使用位置参数传递,不能使用关键字参数传递。下面是一个示例:*

def my_func(a, b, *, c, d):print(a, b, c, d)my_func(1, 2, c=3, d=4)  # 输出 1 2 3 4
my_func(1, 2, 3, 4)  # 报错:TypeError: my_func() takes 2 positional arguments but 4 were given

在上面的示例中,我们定义了一个函数 my_func,它接受两个位置参数 a 和 b,以及两个强制关键字参数 c 和 d。在调用函数时,我们可以使用关键字参数传递 c 和 d,也可以使用位置参数传递 a 和 b,但是不能同时使用位置参数和关键字参数传递 c和 d,否则会报错。

需要注意的是, 后面的参数必须使用关键字参数传递,否则会报错。例如:*

my_func(1, 2, 3, d=4)  # 报错:TypeError: my_func() takes 2 positional arguments but 3 positional arguments (and 1 keyword-only argument) were given

在这个示例中,我们使用位置参数传递了 c 的值,但是没有使用关键字参数传递,因此会报错。

http://www.lryc.cn/news/324529.html

相关文章:

  • Python爬虫之requests库
  • 鱼塘钓鱼(多路归并)
  • java每日一题——买啤酒(递归经典问题)
  • 最近接到一个大项目,给公司设计抢商品代金劵业务
  • 防火墙(讲解)
  • Python之装饰器-带参装饰器
  • 抖音IP属地怎么更改
  • Flutter 全局控制底部导航栏和自定义导航栏的方法
  • 检索增强生成(RAG)技术:实现流程、作用及应用案例
  • Ubuntu安装和使用
  • 【Unity】Stream最好用的Selfhost开源轻量服务
  • Web 常见的攻击方式有哪些?
  • Rancher(v2.6.3)——Rancher部署Redis(单机版)
  • stm32-模拟数字转化器ADC
  • [Repo Git] manifests的写法
  • 位置编码与长度外推
  • Linux信号补充——信号发送和保存
  • Vue3 中应该使用 Ref 还是 Reactive?
  • 红外相机和RGB相机标定:实现两种模态数据融合
  • 前端项目,个人笔记(五)【图片懒加载 + 路由配置 + 面包屑 + 路由行为修改】
  • 【MySQL】2.MySQL数据库的基本操作
  • 常见技术难点及方案
  • c#关键字 static
  • redis 如何保证数据同步(数据变化时)
  • Ubuntu18.04桌面版设置静态IP地址
  • Aztec的客户端证明
  • 面试官:小伙子知道synchronized的优化过程吗?我:嘚吧嘚吧嘚,面试官:出去!
  • 100天精通风控建模(原理+Python实现)——第23天:风控建模中的贝叶斯优化是什么?怎么实现?
  • Http 超文本传输协议基本概念学习摘录
  • 模拟-算法