在python 3.6中运行时出现TypeError-对象不可调用

在python 3.6中运行时出现TypeError-对象不可调用,python,python-3.x,Python,Python 3.x,我在python interactive中运行这段代码,得到如下错误 “TypeError:'int'对象不可调用”我正在尝试学习python def getNum(n,div): for i in range(n): if i % div == 0: yield i DIVIDER = 7 RANGE = 50 print ([n for n in getNum(RANGE,DIVIDER)]) 您得到的错误可能发生在: for i in r

我在python interactive中运行这段代码,得到如下错误 “TypeError:'int'对象不可调用”我正在尝试学习python

def getNum(n,div):
    for i in range(n):
        if i % div == 0:
            yield i
DIVIDER = 7
RANGE = 50

print ([n for n in getNum(RANGE,DIVIDER)])

您得到的错误可能发生在:

for i in range(n):

不知何故,解释器认为
getNum
range
是一个
int

错误可能来自
range
,而不是
getNum
。因此,如果您运行以下操作,您的问题应该得到解决:

import builtins # import builtins

def getNum(n,div):
    for i in builtins.range(n): # use the range from builtins
        if i % div == 0:
            yield i
DIVIDER = 7
RANGE = 50

print ([n for n in getNum(RANGE,DIVIDER)])

你发布的代码对我来说运行良好。您是否可能在代码前面的某个地方或您没有向我们展示的内容中定义了名为
range
的变量?谢谢。现在可以了。所以我现在用的是进口的内置设备,请使用。如果你认为这是足够的,请随意接受这个答案。
import builtins # import builtins

def getNum(n,div):
    for i in builtins.range(n): # use the range from builtins
        if i % div == 0:
            yield i
DIVIDER = 7
RANGE = 50

print ([n for n in getNum(RANGE,DIVIDER)])