掌握Python函数式编程:无论函数多复杂,都无法逃脱这些参数

 2024-01-20 01:02:04  阅读 0

使用函数是模块化编程的第一步。 今天我就和大家讨论一下函数中参数的使用。 函数中的参数也是分层的。 让我们按顺序讨论它们。

python参数关键字_python中关键字参数含义_关键字参数python

位置参数

首先我们来说一下位置参数:

def position(x):
 y = x*x
 return y
​
position(2)
4

位置参数是函数中的第一级参数。 一旦定义,它们就不能留空。 如果我们在这里直接调用该函数,会报错;

python参数关键字_python中关键字参数含义_关键字参数python

默认参数

def default(x=4):
 y = x*x
 return y
default()
16
​
default(5)
25

这里我们定义了一个位置参数x,默认为4,所以调用函数时可以不填任何参数。

可变参数

可变参数,顾名思义,可以传入任意数量的参数。 例如,如果我们不知道有多少个参数,那么我们可以使用可变参数。 变量参数的定义非常简单。 只需要在位置参数前添加 * 即可。 例如:我现在有需求遍历一个文件夹中的文件,但是还没有确定是哪些文件夹:

def variable(*x):
 print(x)
variable(2,4,6,8)
​
(2, 4, 6, 8)

我们先来看看。 在参数前面加上*后,我们就可以接收任意数量的参数,同时输入的参数会自动形成一个原语,即一个可迭代的对象,供我们循环调用。

def variable(*x):
 for i in x:
 print(i)
variable(2,4,6,8)
​
2
4
6
8

有人可能会说,世界上不是可以用列表或者祖先吗? 为什么我们应该使用可变参数? 是的,这是可能的,但不建议这样做。 提倡的是更简洁的语法。

python参数关键字_python中关键字参数含义_关键字参数python

关键字参数

前面提到的可变参数允许传入0个或任意数量的参数,这些参数被组装成一个原语。 关键字参数允许传入0个或者任意数量的包含参数名的参数,这些参数被组装成一个字典,即dict。 对于对应的关键字参数,需要在参数名称前添加**。 废话少说,直接看代码:

首先定义一个带有关键字参数的函数:

def keywords(**x):
 print(x)

然后传入参数:

keywords(a=2, b=4, c=5)
​
{'a': 2, 'b': 4, 'c': 5}

我们可以看到结果,三个参数自动组装成一个列表。

关键字参数python_python中关键字参数含义_python参数关键字

组合参数

下一步是结合上面提到的各种参数。 必须记住一件事。 组合参数必须按规定的顺序使用,即:

位置参数 > 默认参数 > 变量参数 > 关键字参数

这是一个例子:

def combination(x, y=2, *m, **n):
 print( "x is {0}".format(x))
 print('--------')
 print( "y is {0}".format(y))
 print('--------')
 print( "m is {0}".format(m))
 print('--------')
 print( "n is {0}".format(n))

我们定义一个具有组合参数的函数并打印每个参数以进行观察:

combination(3, 4, 8, 5, 6, a=0, b=5, c=7)
​
x is 3
--------
y is 4
--------
m is (8, 5, 6)
--------
n is {'a': 0, 'b': 5, 'c': 7}

结合输出结果,相信大家都能对函数中的这些参数有一个很好的理解。

标签: python函数

如本站内容信息有侵犯到您的权益请联系我们删除,谢谢!!


Copyright © 2020 All Rights Reserved 京ICP5741267-1号 统计代码