【问题标题】:Return different values to different functions将不同的值返回给不同的函数
【发布时间】:2020-02-27 05:50:03
【问题描述】:

我有一个返回 2 个值的函数。现在,根据调用的函数,我想返回这些值。即我有一个函数A,它返回值'x'和'y',如果这个函数是从函数'B'调用的,我想返回'x',如果它是从'C'调用的,我想返回'y'。有没有办法做到这一点?

【问题讨论】:

  • 到目前为止你尝试过什么,如果没有,这里有一个提示:查看函数和继承
  • 您可以为您要解释的内容添加代码吗?
  • 使用不同的参数运行函数并使用该值返回不同的结果。或者创建不同的功能并在不同的地方运行不同的功能。函数应该总是为相同的参数返回相同的结果 - 并且在哪里使用它并不重要。
  • 被调用的函数对调用它的上下文一无所知,所以你应该给它传递一个参数来控制执行。
  • 这看起来像是在尝试颠覆正常的编程约定。你为什么做这个?隐含的上下文改变了语句的含义,即使不是不可能推理,程序也会变得困难。时光如箭,飞逝。果蝇像香蕉一样。

标签: python function return


【解决方案1】:

这很简单。返回多个值的函数返回值的元组。因此,在从 A 调用函数时,您可以通过索引轻松地将变量分配给返回值的第一个元素。例如,假设我有一个这样的函数:

def function_A(x, y):
    return x, y #returns a tuple of x and y - (x, y)

def function_B():
    variable = function_A(2,3)[0] #The 2,3 arguments is just an example.
    # This gives you the first return value.

def function_C():
    variable = function_A(2,3)[1]
    # And this gives the second return value

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-07
    • 2019-06-12
    • 2019-03-29
    • 1970-01-01
    • 1970-01-01
    • 2015-08-22
    相关资源
    最近更新 更多