函数的输入参数是否总是默认返回?
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)
我有一个如下所示的功能。代码运行良好,我只需要您的帮助来帮助我理解 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)