day3-2 函数的参数(形参与实参)及调用(位置参数与关键字参数)

 

 

一、实参与形参:

def test(x,y):
    print(x)
    print(y)
test(1,2)

小结:

x和y就是形参, 形象的参数

1和2就是实参,实际存在的参数,

形参与实参一一对应。

 

 

二、位置参数调用与关键字参数调用。

1、位置参数调用:  test(1,2)          与形参一一对应。

  x y的值与  test(2,1)里面的2与1的位置有关,所以就是位置参数。

 

def test(x,y):
    print(x)
    print(y)
test(2,1)

执行结果:

 

2、关键字参数调用:  test(y=1,x=2)       与形参顺序(位置)无关   

 

# 关键字参数调用:
def test(x,y):
    print(x)
    print(y)
test(y=1,x=2)

执行结果:

 

 3、位置参数与关键字参数混和调用            test(1,z=2,y=3)

def test(x,y,z):
    print(x)
    print(y)
    print(z)
test(y=1,2,z=3)   #提示错误,关键字参数不能在位置参数前面
test(1,x=2,z=4)   #也会出错,1已经赋给了x,后面关键字参数又赋给了x一个值,所以出错。
test(1,z=2,y=3)   #这个就不会出错。

执行结果。

test(y=1,2,z=3)执行提示的错误如下:

  SyntaxError: positional argument follows keyword argument    

  错误解释:关键字参数不能在位置参数前面

  

 

test(1,x=2,z=4) 执行提示的错误如下:

  TypeError: test() got multiple values for argument 'x

  错误解释:X已经获得了多个值。

  

 小结:

  关键字参数不能在位置参数前面。

  位置参数和关键字参数不能为同一个形参赋多个值。

 

posted on 2017-07-03 22:06  aptech2017  阅读(259)  评论(0)    收藏  举报

导航