我创建了一个函数“ grid”来表示一维或二维坐标网格。运行代码时,出现以下错误:无法解压缩不可迭代的NoneType对象。

我已经使用布尔逻辑来设置函数,因此,如果要将参数保持为1D并使用X值,则可以将参数设置为== False。

def grid(x_min, x_max, y_min, y_max, dx):

    if x_min and x_max and not y_min and not y_max:
        grid_x = np.arange(x_min, x_max, dx)
        return grid_x, dx

    if x_min and x_max and y_min and y_max:
        grid_x = np.arange(x_min, x_max, dx)
        grid_y = np.arange(y_min, y_max, dx)
        return grid_x, grid_y, dx



grid_x, grid_y, dx = grid(0, 10, 0, 10, 1)


我知道问题出在我的最后一行代码上,但是无法弄清楚该错误实际上对我的功能意味着什么。

最佳答案

由于x_min为0,因此两个if语句均为false,因此您的方法未返回任何值(这意味着返回None)。

这意味着您尝试打开无包装
grid_x, grid_y, dx = None

关于python - 无法从函数定义中解包错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57491143/

10-13 09:33