Python 为什么以下语法有效?我确实定义了函数层大小(),但没有定义函数层大小测试用例()

Python 为什么以下语法有效?我确实定义了函数层大小(),但没有定义函数层大小测试用例(),python,function,Python,Function,为什么下面的python代码块可以工作?我确实定义了函数层大小(),但没有定义函数层大小测试用例() 首先,返回需要在函数层大小内。因此,正确地缩进代码。像这样: def layer_sizes( X , Y ): n_x = X.shape[0] n_h = 4 n_y = Y.shape[0] return n_x , n_h , n_y 无论如何,我看不出你的代码可以工作。它只是有一个语法错误,我必须让你知道。如果你的意思是返回值应该缩进到函数内部并弄

为什么下面的python代码块可以工作?我确实定义了函数层大小(),但没有定义函数层大小测试用例()


首先,
返回
需要在函数
层大小
内。因此,正确地缩进代码。像这样:

def layer_sizes( X , Y ):

    n_x = X.shape[0]
    n_h = 4
    n_y = Y.shape[0]

    return n_x , n_h , n_y

无论如何,我看不出你的代码可以工作。它只是有一个语法错误,我必须让你知道。如果你的意思是
返回值应该缩进到函数内部并弄糟,那么我仍然看不出你的代码有任何工作方式。您必须已经导入了一个具有函数
layer\u size\u test\u case()
的模块,或者您可能在发布的这段代码之上的某个地方定义了此函数,但您以后一定忘记了它。如果你能提供更多的信息,我可以编辑我的答案给你更多的支持

此代码之所以有效,是因为:

首先,我假设您是在Andrew Ng的deeplearning(平面数据分类)的第3周遇到这段代码的

检查导入语句:

from testCases_v2 import *
这行代码导入上述功能:

def layer_sizes_test_case():
   np.random.seed(1)
   X_assess = np.random.randn(5, 3)
   Y_assess = np.random.randn(2, 3)
   return X_assess, Y_assess
点击所提到的functions.py文件的Github链接:
这不是我的。此处发布用于教育目的。

您是否导入了任何模块?函数
layer\u size\u test\u case()
可能是从另一个模块导入的,这就是代码工作的原因。您发布的代码与您描述的不一样。请发布一个。是的,这是我的一个模块。基本上,我认为如果你想使用模块中的函数,你必须在函数之前提到模块的名称。
def layer_sizes_test_case():
   np.random.seed(1)
   X_assess = np.random.randn(5, 3)
   Y_assess = np.random.randn(2, 3)
   return X_assess, Y_assess