您的位置:首页 > 编程语言 > Python开发

Python学习函数,指定参数和不指定参数的顺序解读

2017-12-28 13:16 274 查看
1、我们定以一个函数有3个参数分别为one,two,three

def function(one, two, three):
print("结果:",one, two, three)


2、我们传入不指定参数(1,2,3)和参数(3,2,1)打印出结果我们可以看出参数传递进去是一一对应的关系

function(1,2,3)
function(3,2,1)

结果: 1 2 3
结果: 3 2 1


3、我们传入指定参数(one = 1,two = 2,three = 3)和 (three = 3,one = 1,two = 2)后打印结果一样,我们可以看出,如果参数都是指定参数这时参数传递与顺序无关

function(one = 1,two = 2,three = 3)
function(three = 3,one = 1,two = 2)

结果: 1 2 3
结果: 1 2 3


4、我们传入既有指定参数又有不指定参数(3,one = 1,two = 2)、(one = 1,two = 2,3)、(one=1,2,3)和(4,two =2,three=3),我们打印的结果可以看出当传入的参数前面是指定参数时后面的是不指定参数时会报错。

function(3,one = 1,two = 2)
function(one = 1,two = 2,3)
function(one=1,2,3)
function(4,two =2,three=3)
function(4,two =2,three=3)

#错误1
function(
4000
one = 1,two = 2,3)
^
SyntaxError: positional argument follows keyword argument
#错误2
function(one = 1,two = 2,3)
^
SyntaxError: positional argument follows keyword argument
#错误3
function(one=1,2,3)
^
SyntaxError: positional argument follows keyword argument
#正确
结果: 4 2 3


从上面我们可以得出一个结论(不定形参除外):当前面是不指定参数时,后面的参数既可以是指定参数也可以是不指定参数,但是当前面是指定参数时,后面的参数一定要是指定参数。

这句话也同样适用于函数形参的定义,大家可以自己试一试。上面的结论是整句理解的,断章取义不适用的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: