getattr()
выбирает атрибут self
, названный строковой переменной that
. Возвращаемое значение, то есть атрибут, названный that
, затем вызывается с аргументами, заданными итерируемым args
.
Предполагая, что that
имеет значение "foo"
, следующие четыре строки эквивалентны:
self.foo(*args)
f = self.foo; f(*args)
f = getattr(self, that); f(*args)
getattr(self, that)(*args)
Использование *args
в качестве параметра аналогично использованию всех элементов в args
в качестве отдельных параметров.