GIS与Climate

V1

2022/07/24阅读:29主题:默认主题

采坑记录:TypeError: 'module' object is not callable

今天在改写代码的时候遇到如下报错:

TypeError: 'module' object is not callable

一开始找了好半天,代码确实没有写错:

pbar = tqdm(enumerate(train_loader), total=len(train_loader), desc='Train ')

就是一个很简单的语句。

后来debug了半天,看到参考链接【1】貌似才发现了什么,原来是导入方式写错了:

import tqdm

但是实际上如果用上面的方式来导入的话,需要用下面的方式来使用tqdm函数:

pbar = tqdm.tqdm(enumerate(train_loader), total=len(train_loader), desc='Train ')

但是多写几个字母多不方便,改成下面的导入方式就好了:

from tqdm import tqdm

为什么?

如果用import tqdm只不过是导入了tqdm这个模块,我们使用的是其中的函数,只不过恰巧这个函数名字与模块名相同而已。且这个模块中也不仅仅只有这一个函数!

经验

  • 导入包的时候要规范;
  • 使用包中的函数时候更是要规范!

参考

【1】https://blog.csdn.net/qq_36396104/article/details/82812461

分类:

后端

标签:

Python

作者介绍

GIS与Climate
V1

公众号:GIS与Climate,欢迎关注