getattr для сортировки или выталкивания из строки - PullRequest
0 голосов
/ 17 мая 2018

Я немного озадачен использованием getattr() со строкой.Я могу сделать что-то вроде

list_ = []
getattr(list_, 'insert')(0,1)

И это будет работать, как ожидалось.Когда я пытаюсь сделать getattr(list_, 'sort') или getattr(list_, 'pop'), он не работает должным образом и не будет изменять список.Почему только некоторые строковые методы работают с getattr()?

1 Ответ

0 голосов
/ 17 мая 2018

Вам нужно вызвать функцию, которую возвращает getattr():

>>> a = [2,3,1]
>>> getattr(a, 'sort')()
>>> a
[1, 2, 3]
>>> getattr(a, 'pop')()
3
>>> a
[1, 2]
...