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