位置参数跟随关键字参数是什么意思啊?
x=input("x=:");y=input("y=:")
print(x,y=y,x)
位置参数跟随关键字参数是什么意思啊?
x=input("x=:");y=input("y=:")
print(x,y=y,x)
—————————————————————————————————————————————————————————————————
(1)报错原因
报错“位置参数跟随关键字参数”其实是因为编译器把print(x,y=y,x)语句识别成了,为print函数传入三个参数,分别是x,y,x,其中,参数y被指定了关键字(即指定要给print函数的y参数传入值为y,请注意,前一个y是函数的形参,后一个y是您通过input语句得到的变量值)。
关键字参数:传参时,具有类似key=value键值对形式的参数。
位置参数:传参时,参数数据类型和数量和定义函数时的对应形参一致的参数。
而在python函数传参时,应该先传入位置参数,再传入关键字参数。
y=y是关键字参数,x、y是位置参数,x作为位参,传参时位置在关键字参数之后,所以引发报错。
—————————————————————————————————————————————————————————————————
(2)实现交换
按照源代码意思,应该是想对输入的值x、y进行交换,再输出。
此时,可以先进行交换操作,再进行输出操作。
实现交换功能的代码如下:
x,y = y,x
(其实与原文一致)