Доступ к переменной функции вне функции без использования «global»
Я пытаюсь получить доступ к локальной переменной функции за пределами функции в 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 'комментарий ниже.