如何在Python中使用默认参数值和可选参数定义函数?


问题内容

我想定义一个函数,输入参数可以省略或具有默认值。

我有这个功能:

def nearxy(x,y,x0,y0,z):
   distance=[]
   for i in range(0,len(x)):   
   distance.append(abs(math.sqrt((x[i]-x0)**2+(y[i]-y0)**2)))
   ...
   return min(distance)

我想要makex0y0具有默认值,z如果我没有值,则使其为可选z

我怎样才能做到这一点?谢谢。


问题答案:

像这样给x0,y0提供默认值,如果z是可选的,也可以:

def nearxy(x,y,x0=0,y0=0,z=None):
   distance=[]
   for i in range(0,len(x)):   
   distance.append(abs(math.sqrt((x[i]-x0)**2+(y[i]-y0)**2)))
   if z is not None:
        blah blah
   return min(distance)

致电:

nearxy(1,2)

如果只想分配z:

 nearxy(1,2,z=3)

....

希望这可以帮助