Я пытаюсь получить доступ к локальной переменной функции за пределами функции в Python. Так, например,
bye = ''
def hi():
global bye
something
something
bye = 5
sigh = 10
hi()
print bye
Вышеизложенное прекрасно работает. Поскольку я хочу узнать, могу ли я получить доступ к bye
вне hi()
без использования global bye
, я попробовал:
def hi():
something
something
bye = 5
sigh = 10
return
hi()
x = hi()
print x.bye
Вышеприведенное дает AttributeError: 'NoneType' object has no attribute 'bye'
.
Затем я попытался:
def hi():
something
something
bye = 5
sigh = 10
return bye
hi()
x = hi()
print x.bye
На этот раз это не дает даже ошибки.
Итак, есть ли способ доступа к локальной функциональной переменной (bye
) вне ее функции (hi()
) без использования глобальных переменных и без распечатки переменной sigh
? (Вопрос был изменен, чтобы включить sigh
после комментария @hcwhsa ниже.