关于 xxx object is not callable

1
2
3
4
5
6
7
8
9
10
def experiment(num):
    num_list = []
    for i in range(int(num)):
        num_list.append(i)
    return(num_list)
 
alist = ['2','3']
for number in alist:
    for experiment in experiment(number):
        print(experiment)
0
1
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-10-e35c7a8a98c4> in <module>()
      7 alist = ['2','3']
      8 for number in alist:
----> 9     for experiment in experiment(number):
     10         print(experiment)

TypeError: 'int' object is not callable

is not callable,是指不能执行。例如变量后面加()就会报这个错误。在for循环中,容易报这个错误。
例如在上面的例子中,for循环中使用的变量名称experiment和函数experiment(num)有一样的名称。
在第一次循环时,变量experiment还未被赋值,所以函数experiment(num)可以正常执行。
但第二次循环时,变量experiment已经被赋值成为一个int,所以函数experiment(num)无法正常执行,并报 'int' object is not callable。

修改方法:
避免变量名和函数名一样。修改如下:
复制代码
def experiment(num):
    num_list = []
    for i in range(int(num)):
        num_list.append(i)
    return(num_list)

alist = ['2','3']
for number in alist:
    for experiment_ in experiment(number):
        print(experiment_)
复制代码
0
1
0
1
2
 


posted @   levylaw  阅读(5023)  评论(0编辑  收藏  举报
编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
点击右上角即可分享
微信分享提示