访问在函数中分配的变量[重复]

Posted

技术标签:

【中文标题】访问在函数中分配的变量[重复]【英文标题】:Accessing variable assigned in a function [duplicate] 【发布时间】:2021-08-27 17:57:39 【问题描述】:

这是我的代码的简单示例:

def function():
  var_a = 1
  var_b = 2
  var_c = 3
  return var_a, var_b, var_c

function()

(抱歉格式不正确)。基本上,该函数不接受任何参数,它的唯一工作是变量赋值。我需要能够调用该函数进行快速分配,然后能够在我的其余代码中使用这些变量。问题是我无法将这些变量从函数中取出。

所以如果我使用上面的代码并在后面加上print(var_a) 行,那么它会告诉我 var_a 没有定义。如果我说values = function() , print (values),那么我只会得到打印在列表中的值,但我将无法以我想要的方式访问它们。有没有简单的方法来解决这个问题?

【问题讨论】:

运行函数时,为什么不保存返回值? var_a, var_b, var_c = function() Stack Overflow 并非旨在取代现有的文档和教程。重复你的函数教程,学习如何使用返回到主程序的值。 您是否希望通过调用function 来分配/创建全局变量?您必须在函数开头使用 global var_a, var_b, var_c 之类的东西将每个变量声明为全局变量,以避免创建局部变量。 【参考方案1】:

您需要分配从函数返回的值。

a, b, c = function()

如果将这三个值分配给单个元组,也可以以相同的方式从元组中解构它们:

values = function()
a, b, c = values

【讨论】:

以上是关于访问在函数中分配的变量[重复]的主要内容,如果未能解决你的问题,请参考以下文章

查找程序中分配的内存? [复制]

有效的多个返回值[重复]

在 C++ 中清除堆栈中分配的内存

Azure密钥保管库如何识别访问策略中分配的不同身份

js - 分配了 2 个变量,但只有 1 个工作 [重复]

在 xib 中分配的图像是不是缓存?