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

wuw*_*cat 2 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)
Run Code Online (Sandbox Code Playgroud)

我想要make x0y0有一个默认值,z如果我没有值,则make 可选z.

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

Pau*_*ite 6

你不能在Python中使函数参数可选,但你可以给它们默认值.所以:

def nearxy(x, y, x0=0, y0=0, z=None):
    ...
Run Code Online (Sandbox Code Playgroud)

这使得x0y0具有默认值0,并z有一个默认值None.

假设None没有意义作为实际值z,你可以在函数中添加逻辑,z只有当它不是时才做None.