在Python不工作的函数中返回变量

2024-03-30 03:19:20 发布

您现在位置:Python中文网/ 问答频道 /正文

我一直试图在变量中的函数中返回一个变量并在它之外使用它:

test = 0

def testing():
    test = 1
    return test

testing()
print(test)

但当我运行它时,结果是0。我怎样才能解决这个问题?


Tags: 函数testreturndeftestingprint
3条回答

你把范围和/或任务搞砸了。试试这个:

def testing():
    test = 1
    return test

test = testing()
print(test)

说明:模块内部的test与模块内部的test不同。必须在模块级分配它才能获得预期的结果。

在函数testing()中,您正在创建一个新变量test而不是指已经存在的变量。如果要这样做,应该在顶部使用global语句,如下所示:

def testing():
    global test
    ...etc...

因为您在函数中声明了test,所以它不是全局变量,因此,您不能访问在函数外部创建的变量test,因为它们是不同的作用域

如果要return test到变量,必须

result = testing()
print(result)

或者,您还可以添加global语句:

test = 0

def testing():
    global test
    test = 1
    return test

testing()
print(test)

顺便说一下,在执行条件语句时,不需要在1==1左右加括号。

相关问题 更多 >