Python 在另一个函数中使用一个函数的返回结果
我知道这方面有几个问题,我读过,但我不明白。我试图在另一个函数中使用一个函数返回的结果:Python 在另一个函数中使用一个函数的返回结果,python,python-3.x,Python,Python 3.x,我知道这方面有几个问题,我读过,但我不明白。我试图在另一个函数中使用一个函数返回的结果: def multiplication(a): c = a*a return c def subtraction(c): d = c - 2 return d print(subtraction(c)) 输出: NameError:未定义名称“c” 我知道有可能使用全局变量,但我发现这不是一个好主意,因为变量可以改变它们的值 编辑: 这两个函数只是愚蠢的例子。我有两个带单
def multiplication(a):
c = a*a
return c
def subtraction(c):
d = c - 2
return d
print(subtraction(c))
输出:
NameError:未定义名称“c”
我知道有可能使用全局变量,但我发现这不是一个好主意,因为变量可以改变它们的值
编辑:
这两个函数只是愚蠢的例子。我有两个带单词的函数,我需要在第二个函数中使用第一个函数的返回。在这个愚蠢的例子中,我需要第二个函数中第一个函数(c)的结果。您没有正确调用函数
def multiplication(a):
c = a*a
return c
def subtraction(c):
d = c - 2
return d
# first store some value in a variable
a = 2
# then pass this variable to your multiplication function
# and store the return value
c = multiplication(a)
# then pass the returned value to your second function and print it
print(subtraction(c))
那么为什么不使用返回值呢
print(subtraction(multiplication(24)))
?未在“减法”函数之外声明“c”。 您需要在打印前声明“c”。 假设您希望“c”为5,那么:
c = 5
print(subtraction(c))
您已经定义了两个函数,它们都返回一个数字 如果调用
减法(c)
,您将看到错误,因为没有c
如果在print statmenet的范围内定义了c
c = 42
print(subtraction(c))
会好的
试着这样想:每个函数接受一个变量,对其执行操作并返回一个数字
e、 g
这恰好被称为c
isnide函数在函数(即作用域)之外是未知的
您可以将数字保存到变量中
>>> x = multiplication(101)
然后x
记住该值。
或
这与函数中的c
不同
(问题编辑后): 决定要使用什么值调用第一个函数,例如101:
>>> c = multiplication(101)
然后使用该返回调用下一个函数:
>>>> subtraction(c)
或者把它们连在一起:
subtraction( multiplication(101) )
要启动链,需要使用字符串、int或定义的变量。
否则会出现名称未定义错误。
一旦在函数中使用变量,函数结束时它就超出范围。这会让事情更清楚吗
def multiplication(a):
c = a*a
return c
def subtraction(c):
d = c - 2
return d
print(multiplication(5)) # 25
print(subtraction(5)) # 3
print(multiplication(subtraction(5))) # 9
print(subtraction(multiplication(5))) # 23
我认为您正在尝试执行上一个print语句中的操作:首先调用乘法函数,然后对结果调用减法函数
请注意,乘法函数中的变量
c
与减法函数中的变量c
完全不同。因此,重命名变量可能会让事情变得更清楚,可能是这样的:
def multiplication(a):
product = a * a
return product
def subtraction(a):
difference = a - 2
return difference
打印(减法(c))
这里的c
是什么?您具体想做什么?你想乘一些,减去一些?你想做什么实际的计算?把c改成一个值?即使是全局变量,python也必须有一个值或任何东西才能运行。…c
只是一个局部变量,它不存在于乘法
函数之外。要使用函数的结果,必须调用函数。这并不能回答问题。若要评论或要求作者澄清,请在其帖子下方留下评论。-哦,真的吗?Sp,我的回答没有提到如何“在另一个函数中使用一个函数返回的结果”,是吗?
def multiplication(a):
c = a*a
return c
def subtraction(c):
d = c - 2
return d
print(multiplication(5)) # 25
print(subtraction(5)) # 3
print(multiplication(subtraction(5))) # 9
print(subtraction(multiplication(5))) # 23
def multiplication(a):
product = a * a
return product
def subtraction(a):
difference = a - 2
return difference