TypeError: объект 'builtin_function_or_method' не подлежит расшифровке

elif( listb[0] == "-test"):
    run_all.set("testview")
    listb.pop[0]

ОШИБКА: исключение в обратном вызове Tkinter Traceback (последний вызов последний): Файл "/tools/python/2.7.2/lib/python2.7/lib-tk/Tkinter.py", строка 1410, в вызов    return self.func(* args) Файл "./edit.py", строка 581, в заполнении     listb.pop [0] TypeError: объект 'builtin_function_or_method' не подлежит расшифровке

Строка # 581 представлена ​​последним высказыванием pop в приведенном выше коде. run_all - это StringVar.

Почему я получаю эту ошибку и как ее можно решить?

Ответ 1

Я думаю, что вы хотите

listb.pop()[0]

Выражение listb.pop является допустимым выражением python, которое приводит к ссылке на метод pop, но на самом деле не вызывает этот метод. Для вызова метода необходимо добавить открытые и закрывающие круглые скобки.

Ответ 2

Вы пытаетесь получить доступ к поп файлу, как если бы это был список или набор, но pop нет. Это метод.

Ответ 3

вместо записи listb.pop[0] write

listb.pop()[0]
         ^
         |

Ответ 4

Похоже, вы набрали скобки вместо скобок по ошибке.

Ответ 5

Эта ошибка возникает, когда вы не используете скобки с операцией pop. Напишите код таким образом.

listb.pop(0)

Это допустимое выражение Python.

Ответ 6

В моем случае это произошло из-за плохого отступа.

Просто отступ строки кода решил проблему.