Область видимости переменных вложенных функций Python [дубликат]

На этот вопрос уже есть ответ здесь:

Я прочитал почти все другие вопросы по теме , но мой код по-прежнему не работает.

Я думаю, что мне что-то не хватает в области видимости переменных python.

Вот мой код:

PRICE_RANGES = {
                64:(25, 0.35),
                32:(13, 0.40),
                16:(7, 0.45),
                8:(4, 0.5)
                }

def get_order_total(quantity):
    global PRICE_RANGES
    _total = 0
    _i = PRICE_RANGES.iterkeys()
    def recurse(_i):
        try:
            key = _i.next()
            if quantity % key != quantity:
                _total += PRICE_RANGES[key][0]
            return recurse(_i) 
        except StopIteration:
            return (key, quantity % key)

    res = recurse(_i)

И я получаю

«глобальное имя '_total' не defined "

Я знаю, что проблема связана с назначением _total , но не могу понять почему. но просмотр задачи / хвоста / журнала просто незаметно заканчивается?

Кроме того, я не очень хорошо знаком с тем, как анализировать журналы - действительно ли это лучший способ просто быстро просмотреть самые последние события в вашем (удаленном production) log, или есть способ лучше? Я знаю, что существует множество инструментов для анализа журналов, но мне нужно чрезвычайно простое решение для просмотра последних пар запросов, а не что-то громоздкое и сложное. Я не уверен, что это решение Capistrano действительно оптимально. Например, какое решение используют большинство людей?

9
задан M. Cypher 7 March 2011 в 11:06
поделиться