首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从函数外部访问函数内部定义变量

如何从函数外部访问函数内部定义变量
EN

Stack Overflow用户
提问于 2016-02-11 22:06:26
回答 3查看 1.1K关注 0票数 0

我坚持在另一个函数中使用前一个函数中定义的变量。例如,我有这样的代码:

代码语言:javascript
复制
def get_two_nums():
    ...
    ...
    op = ...
    num1 = ...
    num2 = ...
    answer = ...

def question():
    response = int(input("What is {} {} {}? ".format(num1, op, num2)))
    if response == answer:
        .....

如何在第二个函数中使用第一个函数中定义的变量?提前谢谢你

EN

回答 3

Stack Overflow用户

发布于 2016-02-11 22:10:03

变量是函数的局部变量;您需要return要共享给调用者的相关值,并将它们传递给使用它们的下一个函数。如下所示:

代码语言:javascript
复制
def get_two_nums():
    ...
    # define the relevant variables
    return op, n1, n2, ans

def question(op, num1, num2, answer):
    ...
    # do something with the variables

现在您可以调用

代码语言:javascript
复制
question(*get_two_nums()) # unpack the tuple into the function parameters

代码语言:javascript
复制
op, n1, n2, ans = get_two_nums()
question(op, n1, n2, ans)
票数 5
EN

Stack Overflow用户

发布于 2016-02-11 22:09:40

为什么不返回一个元组呢?

代码语言:javascript
复制
def get_two_nums():
    ...
    ...
    op = ...
    num1 = ...
    num2 = ...
    answer = ...
    return op, num1, num2, answer

def question():
    op, num1, num2, answer = get_two_nums()
    response = int(input("What is {} {} {}? ".format(num1, op, num2)))
    if response == answer:
        # the rest of your logic here
票数 3
EN

Stack Overflow用户

发布于 2016-02-11 22:11:34

您不能简单地传递它们,因为get_two_nums中的变量仅在get_two_nums函数的作用域中定义。所以基本上你有两个选择:

在proposed.

  • Define函数中,
  1. 将它们的值作为元组返回到另一个函数的作用域中,如@TimPietzcker@Tgsmith61591 get_two_nums变量作为全局变量(有关更多信息,请参阅global statement ),如下面的代码片段所示:

def get_two_nums():global num1 num1 = 'value1‘global num2 num2 = 'value2’global num3 num3 = 'value3‘def value1():#调用get_two_nums设置全局变量,以便进一步使用get_two_nums() response =int(input(“什么是{}?".format(num1,num2,num3) if response == answer:#这里有一些代码...

警告:应该避免使用全局变量的,请参阅Why are global variables evil?以更好地了解我正在谈论的内容……

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35341505

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档