小编bra*_*der的帖子

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)
Run Code Online (Sandbox Code Playgroud)

我明白了

"全局名称'_total'未定义"

我知道问题在于_total作业,但我不明白为什么.不recurse()应该访问父函数的变量?

有人可以向我解释一下我对python变量范围缺少什么吗?

python variables scope

82
推荐指数
6
解决办法
7万
查看次数

标签 统计

python ×1

scope ×1

variables ×1