定义的函数调用 returns 名称未定义错误
defined function call returns name not defined error
我定义了以下函数:
def create_table(table,L):
table={'BBGTicker':L}
table=pd.DataFrame(table)
return table
尝试执行例如:
c=create_table(c,put_options_create)
其中 put_options_create 是一个列表 returns 以下错误:
名称'c'未定义。
如果我要写:
c={'BBGTicker':put_options_create}
c=pd.DataFrame(c)
这会起作用并给我一个 table。
上面的函数有什么问题?
create_table
第一个参数没用。 table
参数立即被 table={'BBGTicker':L}
覆盖,因此没有必要使用该参数。
只需将函数更改为:
def create_table(L):
table={'BBGTicker':L}
table=pd.DataFrame(table)
return table
然后称其为
c=create_table(put_options_create)
要回答为什么会这样:函数调用期间 ()
之间的变量必须已经存在。如果您尚未为 c
分配值,则 create_table(c,put_options_create)
没有意义。您只在那里提供您正在 提供 函数的数据。您没有在参数列表数据中指定您希望返回的数据*
。
*
可以通过对象的变异通过参数“return”数据,但这不是您在这里尝试做的。
我定义了以下函数:
def create_table(table,L):
table={'BBGTicker':L}
table=pd.DataFrame(table)
return table
尝试执行例如:
c=create_table(c,put_options_create)
其中 put_options_create 是一个列表 returns 以下错误:
名称'c'未定义。
如果我要写:
c={'BBGTicker':put_options_create}
c=pd.DataFrame(c)
这会起作用并给我一个 table。
上面的函数有什么问题?
create_table
第一个参数没用。 table
参数立即被 table={'BBGTicker':L}
覆盖,因此没有必要使用该参数。
只需将函数更改为:
def create_table(L):
table={'BBGTicker':L}
table=pd.DataFrame(table)
return table
然后称其为
c=create_table(put_options_create)
要回答为什么会这样:函数调用期间 ()
之间的变量必须已经存在。如果您尚未为 c
分配值,则 create_table(c,put_options_create)
没有意义。您只在那里提供您正在 提供 函数的数据。您没有在参数列表数据中指定您希望返回的数据*
。
*
可以通过对象的变异通过参数“return”数据,但这不是您在这里尝试做的。