You need to enable JavaScript to run this app. 为何Google Colab中用input、map、int的日期输入代码报TypeError: 'str' object is not callable
优惠活动
大模型
产品
解决方案
定价
更多

为何Google Colab中用input、map、int的日期输入代码报TypeError: 'str' object is not callable

报错核心原因

这个报错和你当前编写的日期处理代码逻辑完全无关,问题出在Google Colab的持久化交互式运行环境上。
Python内置的input本是用于获取控制台输入的可调用函数,但你之前在某一个已执行完成的Colab单元格中,不小心将input这个标识符赋值为了字符串类型的变量,导致全局命名空间里的input从函数类型被替换成了str类型。
此时你在当前代码中写input('Enter a date (i.e. 2017,7,1)'),本质是尝试对字符串对象加括号执行调用操作,自然会触发TypeError: 'str' object is not callable。
你排查后认为“自身编写的代码并未调用任何字符串对象”的判断是完全准确的——你的代码内没有任何对字符串做括号调用的写法,拆分输入字符串、拆分后转整数、初始化datetime对象的流程完全合规,问题来自环境层面的命名覆盖,导致原本的内置函数被偷换。

对应修复方案
  • 新建一个Colab单元格,执行del input命令,删除被错误覆盖的全局input变量,Python会自动重新加载原生的内置input函数,之后重新运行你的日期处理代码即可正常执行。
  • 日常编码中避免使用Python内置名、标准库名作为自定义变量名,比如不要单独写input = 任意值、date = 任意值、str = 任意值这类赋值语句,从根源避免命名冲突覆盖。
  • 如果删除变量后仍有残留状态异常,直接重启Colab的运行时,清空所有全局变量缓存,即可恢复所有内置函数的默认行为。

内容的提问来源于stack exchange,提问作者Reyan Ahmad

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.11.04 12:24:07