函数的输入参数是否总是默认返回?

Is input arguments to a function returned always by default?

我有一个如下所示的功能。代码运行良好,我只需要您的帮助来帮助我理解 return 或函数输出的存储方式。我是初学者,您的意见会有所帮助

dataFramesDict = dict()

def create_df(xls,s): 
   ......
   return sheet_df,sheet_name

def transform_stage_1_df(sheet_df,sheet_name):
    ..... 
    .....
    return sheet_df,sheet_name

def transform_stage_2_df(sheet_df, sheet_name):

     result = pd.concat(....)
     return result

如您所见,我只是 returning result 数据帧作为函数的输出。没有其他变量是 return 从函数

编辑的

当我按如下顺序调用该函数时,我预计它会在 dataFramesDict[sheet_name] 的最后一行抛出错误,但它工作正常。

sheet_df,sheet_name = create_df(xls,s)
sheet_df,sheet_name = transform_stage_1_df(sheet_df,sheet_name)
dataFramesDict[sheet_name] = transform_stage_2_df(sheet_df,sheet_name)

我不应该收到如下错误消息

sheet_name isn't defined

我尝试重新启动内核以确保它没有在别处定义。

因为 sheet_name 不是全局变量。它仅作为参数传递给上述函数。默认情况下,函数也总是 return 输入参数吗?

sheet_df、sheet_name 和 unit_dict 未在初始问题的行范围内定义。在您对问题的编辑中,您显示了所有这些变量的设置位置。由于它们是在前面的行中设置的,因此没有任何神秘之处。

return 不 return 参数或将它们放在范围内。

变量 sheet_name 在 transform_stage_2_df 外部定义,因为您将其用作输入参数,因此已经在外部定义。

dataFramesDict[sheet_name] = transform_stage_2_df(sheet_df,sheet_name)