入门客AI创业平台(我带你入门,你带我飞行)
博文笔记

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

创建时间:2017-12-28 投稿人: 浏览次数:278

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(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

从上面我们可以得出一个结论(不定形参除外):当前面是不指定参数时,后面的参数既可以是指定参数也可以是不指定参数,但是当前面是指定参数时,后面的参数一定要是指定参数。
这句话也同样适用于函数形参的定义,大家可以自己试一试。上面的结论是整句理解的,断章取义不适用的。

声明:该文观点仅代表作者本人,入门客AI创业平台信息发布平台仅提供信息存储空间服务,如有疑问请联系rumenke@qq.com。
  • 上一篇:没有了
  • 下一篇:没有了
未上传头像