0
p type("ddd")
*** TypeError: TypeError("'int' object is not callable",)
!print(type("dd"))
*** TypeError: 'int' object is not callable
type
255
!type
255

これがなぜなのか誰か知っていますか?PDB コマンドではないようです。その名前のために、答えの検索は成功していません。

4

2 に答える 2

4

コードを投稿してください。typeたまたま整数である独自の値で名前を上書きしたようです。

于 2012-09-16T20:25:31.787 に答える
3

typePDB コマンドではないか、通常はデバッグ セッション中に使用できません。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'>
于 2012-09-16T20:25:13.827 に答える