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

Ответы на вопрос(5)

Ваш ответ на вопрос