Elif( listb[0] == "-test"):
run_all.set("testview")
listb.pop[0]
[〜#〜] error [〜#〜]:Tkinterコールバックトレースバックの例外(最新の呼び出しが最後):ファイル "/tools/python/2.7.2/lib/python2.7/lib- tk/Tkinter.py "、行1410、call return self.func(* args)ファイル" ./edit.py "、行581、populate listb.pop [0] TypeError: ' builtin_function_or_method 'オブジェクトは添字付けできません
行番号581は、上記のコードの最後のpopステートメントで表されています。 run_allはStringVarです。
このエラーが発生する理由と解決方法を教えてください。
欲しいと思う
listb.pop()[0]
表現 listb.pop
は、有効なpython式であり、pop
メソッドへの参照になりますが、実際にはそのメソッドを呼び出しません。開き括弧と閉じ括弧を追加する必要があります。メソッドを呼び出します。
リストまたはタプルのようにポップにアクセスしようとしていますが、うんちはそうではありません。これはメソッドです。
誤って括弧ではなく括弧を入力したようです。
listb.pop[0]
と書く代わりに
listb.pop()[0]
^
|
このエラーは、pop
操作で角かっこを使用しない場合に発生します。この方法でコードを記述します。
listb.pop(0)
これは有効なpython式です。
参考までに、これは投稿に対する回答ではありません。ただし、次のメッセージでエラーが発生する可能性がある将来のユーザーには役立つ場合があります。
TypeError: 'builtin_function_or_method'オブジェクトは添字付けできません
私の場合、インデントが悪いために発生しました。
コード行をインデントするだけで問題は解決しました。