首页 > 解决方案 > 在 python 3.6 中运行时出现 TypeError - 对象不可调用

问题描述

我在 python 交互中运行此代码并收到如下错误“TypeError:'int' object is not callable”我正在尝试学习 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)])

标签: pythonpython-3.x

解决方案


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

for i in range(n):

或者

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

不知何故,解释器认为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)])

推荐阅读