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) 收藏 举报
浙公网安备 33010602011771号