关于Python函数,你应该知道以下几点基础知识

关于Python函数,你应该知道以下几点基础知识1 函数中的类型提示我开始学习 Python 时 根本没有使用过类型提示 因此 在编写 Python 的最初几年里 我从未写过一个类型提示 举个简单的例子 假设我们想写一个函数 求 2 个整数的平均值

大家好,欢迎来到IT知识分享网。

1) 函数中的类型提示


我开始学习 Python 时,根本没有使用过类型提示。因此,在编写 Python 的最初几年里,我从未写过一个类型提示。
举个简单的例子,假设我们想写一个函数,求 2 个整数的平均值。我们一般会这么写:

关于Python函数,你应该知道以下几点基础知识

我现在工作时就是这样写函数的(添加类型提示和文档字符串):

关于Python函数,你应该知道以下几点基础知识

  • a: int 表示 a 最好是整数
  • b: int 表示 b 最好是整数
  • -> float 表示函数最好返回一个 float 值


但是,请注意,类型提示是提示,而不是强制。如果我们在 a 和 b 中输入字符串或其他数据类型,Python 其实是可以接受的(直到它尝试将一个字符串除以 2 才会导致错误)。
类型提示的目的主要是:1)使代码便于人类阅读;2)使您的集成开发环境(如 PyCharm 或 VSCode)能够为您进行检查。
尽可能在函数中添加类型提示,以便其他程序员(甚至是未来的你)更容易理解函数。

2) 默认参数

关于Python函数,你应该知道以下几点基础知识

^ 在上述函数中,greeting=’hi’是默认参数。

  • 如果我们不向‘greeting’函数传递任何参数时,它就会被自动分配为 “hi”。
  • 如果我们向‘greeting’函数传递某个值,它就会接受该值
关于Python函数,你应该知道以下几点基础知识

在 greet(‘tom’) 中,我们没有在问候语中传递任何信息。这意味着它默认为 “hi
在 greet(‘tom’, greeting=’hello’) 中,我们将 “hello “传入了 greeting。也就是说,我们覆盖了默认参数,并指定 greeting = ‘hello’
如果函数中有大量参数,而我们又不希望每次调用函数时都要输入每个参数,那么这种方法就非常有用。

3) 形参和实参

在我学习 Python 的最初几年,我以为它们的意思是一样的。但其实也不尽然,它们之间有一点区别。
比方说,再以之前的例子为例:我们有一个简单的函数,它接收 (a, b) 并返回它们的平均值。

关于Python函数,你应该知道以下几点基础知识

形参是我们定义函数时写在括号内的变量。这里,a 和 b 就是参数。

关于Python函数,你应该知道以下几点基础知识

实参是我们在调用函数时实际传递给函数的值。在这里,当我们调用 avg(a, b) 函数时,3 和 5 就是实参。

4) 位置参数与关键字参数

我们看下面这个函数:

关于Python函数,你应该知道以下几点基础知识

让我们通过传递一些位置参数来调用这个函数。

关于Python函数,你应该知道以下几点基础知识

这里,4 和 7 是位置参数。位置参数需要按顺序排列 — 4 传递到 a,而 7 传递到 b。


接下来,让我们通过传递一些关键字参数来调用我们的函数。

关于Python函数,你应该知道以下几点基础知识

这里,b=5 和 a=8 是关键字参数。关键字参数不需要按顺序排列,但我们必须使用 key=value 格式传递它们。

5) 任意位置参数 (*args)

函数中的任意位置参数(也称为 *args)允许函数接受任意数量的位置参数。

关于Python函数,你应该知道以下几点基础知识

在这里,test 函数接收 *args – 这使得 test 可以接收任意数量的位置参数,所有这些参数都将包含在一个名为 args 的元组中。


我们也可以将其与普通参数相结合(*参数必须排在后面)

关于Python函数,你应该知道以下几点基础知识

补充说明:我们不必一定要将其命名为‘ *args’。只要在前面加上 “*”,我们可以给它起任何名字。

6) 任意关键字参数(kwargs)

任意关键字参数(也称为 kwargs)允许我们的函数接收任意数量的关键字参数。

关于Python函数,你应该知道以下几点基础知识

在这里,test 函数使用了 kwargs–它允许 test 使用任意数量的关键字参数,这些参数将被记录在名为 kwargs 的字典中。


我们还可以将其与普通参数相结合(kwargs 也必须在后面)

关于Python函数,你应该知道以下几点基础知识

补充说明–如果我们不愿意,不必将其命名为‘kwargs’。只要前面有 ,我们可以给它起任何名字。

7) 使用 * 和 将 列表和字典传递给函数

下面是一个简单的函数,它只需打印出参数。

关于Python函数,你应该知道以下几点基础知识

我们可以不按常规方法调用这个函数,即 hi(1,2):


1) 使用 * 传递包含位置参数的列表

关于Python函数,你应该知道以下几点基础知识

在这里,nums 前面的 * 将其内容作为位置参数解包到函数调用中。这与 hi(100, 200) 相同


2) 使用 传递包含关键字参数的字典

关于Python函数,你应该知道以下几点基础知识

在这里,d 前面的 将其键值对作为关键字参数解包到函数调用中。这与 hi(a=100, b=100) 相同

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/108096.html

(0)
上一篇 2024-11-12 22:00
下一篇 2024-11-13 18:15

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信