python - 如何修复 Jupyter 中的模块不可调用错误?
问题描述
我是 Python 的初学者,我正在练习函数。我正在尝试在 Jupyter 中运行以下可重现的代码,但获取错误 `TypeError: 'module' object is not callable。
下面是创建函数的可重现代码gbp_to_usd
:
def gbp_to_usd(gbp):
usd = float(gbp) * 1.5
return usd
gbp = input("Enter the gbp: ")
usd = gbp_to_usd(gbp)
print("The converted gbp amount in usd is: " + str(usd))
但是当我在 IDE 中运行相同的代码时,我没有收到错误:
我尝试在 Python IDE 中运行相同的代码并复制错误,但令我惊讶的是,它运行成功。所以这让我更加困惑。我在网上研究,发现缺少数学运算符可能会导致此错误,但我这里的函数没有缺少任何运算符(函数gbp_to_usd
具有基本的数学运算)。
有谁知道可能导致此错误的原因是什么?为什么它不能调用str()
浮点变量?
让我知道
解决方案
在图像中显示的一个之前,您已经运行了 164 个单元。其中一个单元格已被模块对象覆盖print
或str
函数,因为这些是该行中唯一被调用的 2 个函数
在新的 Python 环境(或重置的 Jupyter 内核)上,您不应该期望该错误,因此,这就是“修复”
推荐阅读
- python - 为什么我的验证程序不起作用?
- python - 用数据类子类覆盖非数据类属性会导致属性错误
- .net - QuickFix for NET 无法识别 BeginString 或因 rasapi32.dll “丢失”而失败
- javascript - 进行 API GET 调用时的弃用警告
- php - $order->get_items('fee') 似乎不适用于 woocommerce_new_order 钩子
- r - 手动设置自定义图例形状
- c# - 如何在 C# 类库项目中的测试执行期间查看控制台输出
- typescript - NestJS中的自定义ClassSerializerInterceptor根据用户角色进行序列化(表达req对象)
- google-apps-script - 每次填充新行时如何触发脚本?
- amazon-web-services - 每个服务一个 DynamoDB 客户端或所有服务一个 DynamoDB 客户端