Python函数参数

Python函数参数教程

Python函数 的参数,为形式参数,即如果我们通过传值的方式,传递的参数其实是实际参数的一份拷贝,而不是真正的实际参数。

在 Python 中,函数的参数不需要我们显式的指定数据类型,直接写形参的 变量名 即可,Python 函数的参数的个数可以是 0 个或者任意多个。

Python函数没有参数详解

语法

def func_name(): # do return val

参数

参数 描述
def 定义函数所使用的关键字,所有的函数前面都必须使用该关键字。
func_name 函数的名称。
return 后面接函数的返回值,函数的返回值只能有一个,可以是任意的数据类型。

说明

我们定义了一个函数,函数名为 func_name,该函数没有任何的参数。

Python函数参数详解

语法

def func_name(param1, param2): # 执行语句... return val

参数

参数 描述
def 定义函数所使用的关键字,所有的函数前面都必须使用该关键字。
func_name 函数的名称。
param1 函数的形参1。
param2 函数的形参2,函数可以有任意多个形参。
return 后面接函数的返回值,函数的返回值只能有一个,可以是任意的数据类型。

说明

我们定义了一个函数,函数名为 func_name,该函数接受两个参数。实际,Python 的函数的参数可以是 0 个或者任意多个。

案例

寻找最大公约数

用函数,实现寻找两个数的最大公约数

print("嗨客网(www.haicoder.net)") # 用函数,实现计算两个数的最大公约数 def gcdNormal(x, y): n = 0 if x > y: n = y else: n = x for i in range(n, 0, -1): if x%i == 0 and y%i == 0: return i return 1 gcd = gcdNormal(10, 20) print("gcd =", gcd)

程序运行后,控制台输出如下:

04_python函数参数.png

我们定义了一个函数 gcdNormal,传入两个参数 x 和 y,函数返回 x 和 y 的最大公约数。该函数使用了穷举法实现了求参数 x 和 参数 y 的最大公约数的逻辑。

最后,我们调用了 gcdNormal 函数,并传入了两个参数 10 和 20,使用 gcd 变量来接受 gcdNormal 函数返回的值,最后使用 print 函数打印最后的结果。

函数参数是形参

Python 的函数参数是函数参数,对函数参数的修改不会影响实参

print("嗨客网(www.haicoder.net)") # Python的函数参数是函数参数,对函数参数的修改不会影响实参 def change(a): a += 100 a = 10 change(a) print("a =", a)

程序运行后,控制台输出如下:

05_python函数参数.png

我们定义了一个函数 change(),传入一个参数 a,在函数体中,对该函数的参数实现加 100 的操作。

最后,我们调用函数 change,并传入变量 a,执行完 change() 函数之后,我们再次打印变量 a 的值,发现 a 的值还是 10,并不是加 100 之后的 110。

因为在 Python中,函数的参数是函数参数,即是实参的拷贝,所以修改的不是实参,所以 a 的值不会改变。

Python函数参数总结

Python 中函数的参数,为形式参数,即如果我们通过传值的方式,传递的参数其实是实际参数的一份拷贝,而不是真正的实际参数。

在 Python 中,函数的参数不需要我们显式的指定数据类型,直接写形参的变量名即可,Python 函数的参数的个数可以是 0 个或者任意多个。