p type("ddd")
*** TypeError: TypeError("'int' object is not callable",)
!print(type("dd"))
*** TypeError: 'int' object is not callable
type
255
!type
255
有人知道这是为什么吗?它似乎不是PDB命令。由于其名称,搜索答案并未成功。
答案 0 :(得分:4)
发布您的代码。看起来你用自己的值覆盖了名称type
,这恰好是一个整数。
答案 1 :(得分:3)
type
不是PDB命令,或者在调试会话期间通常不可用。您必须在本地或全局命名空间中具有带整数值的局部变量type
:
>>> import pdb
>>> pdb.run('None')
> <string>(1)<module>()
(Pdb) type
<type 'type'>
(Pdb) type = 255
(Pdb) type('ddd')
*** TypeError: 'int' object is not callable
在测试代码中定义的局部变量:
>>> pdb.run('type = 255; None')
> <string>(1)<module>()
(Pdb) s
> <string>(1)<module>()
(Pdb) type
255
这些情况的解决方法是通过type
模块引用原始的__builtins__
函数:
(Pdb) type('ddd')
*** TypeError: 'int' object is not callable
(Pdb) __builtins__.type('ddd')
<type 'str'>