在不使用"global"关键字的情况下访问函数外部的函数变量。

8 浏览
0 Comments

在不使用"global"关键字的情况下访问函数外部的函数变量。

我正在尝试在Python中在函数外部访问局部变量。

我可以通过使用全局变量使下面的代码工作:

bye = ''
def hi():
    global bye
    bye = 5
    sigh = 10
hi()
print(bye)

接下来,我尝试了下面的代码,希望在不使用global bye的情况下在hi()外部访问bye

def hi():
    bye = 5 
    sigh = 10
    return
hi()
x = hi()
print(x.bye)

这会导致AttributeError: 'NoneType' object has no attribute 'bye'

接下来,我尝试了:

def hi():
    bye = 5
    sigh = 10
    return bye
hi()
x = hi()
print(x.bye)

这并没有改善情况;我得到AttributeError: 'int' object has no attribute 'bye'

有没有一种方法可以在不使用全局变量和不打印出sigh变量的情况下在函数外部访问局部函数变量(bye)?我该如何做?

0