Python 如何在另一个函数中使用来自一个函数的数据
我有一个关于在另一个函数中使用函数数据的问题。 当我尝试以下方法时:Python 如何在另一个函数中使用来自一个函数的数据,python,function,Python,Function,我有一个关于在另一个函数中使用函数数据的问题。 当我尝试以下方法时: import pandas as pd def input(param1, param2, param3 = 4): df = (param1 + param2 + param3) pd.options.display.float_format = '{:,.0f}'.format return df def calculator(df): df2 = df * df print(
import pandas as pd
def input(param1, param2, param3 = 4):
df = (param1 + param2 + param3)
pd.options.display.float_format = '{:,.0f}'.format
return df
def calculator(df):
df2 = df * df
print(df2)
return
我得到以下结果:
>>> input(2,2,2)
6
为什么它打印出6而不是36,我如何编写它,使它使用
df
来计算df2
?我看不出你的代码有任何问题,你会得到6
,因为你正在调用input
,但是如果你调用计算器得出这个结果:
In [2]: input(2,2,2)
Out[2]: 6
In [3]: calculator(6)
36
input()
的返回值是对传递给它的参数求和,即2+2+2=6
您从不调用计算器
函数。因此,为了在计算器
中使用输入
的结果,您需要返回结果,然后将其传递到计算器
函数中
def input(param1, param2, param3 = 4):
df = (param1 + param2 + param3)
return df
def calculator(df):
df2 = df * df
print(df2)
outer_df = input(2,2,2)
calculator(outer_df)
# 36
注意:我建议不要调用您自己编写的函数input
,因为这会影响内置函数。还有另一种实现方法,调用函数编程的功能:
def input(param1, param2, param3 = 4):
df = (param1 + param2 + param3)
return df
def calculator(df):
df2 = df * df
print(df2)
outer_df = input(2,2,2)
calculator(outer_df)
# 36
我们已经创建了一个复合函数,现在您不必使用嵌套函数。如果有多个函数相互馈送,这通常很有用。它使您的代码更清晰,更容易理解。您没有调用计算器