Вопросы с тегом «getattr»


14
Что такое getattr () и как мне его использовать?
Я недавно прочитал о getattr()функции . Проблема в том, что я до сих пор не могу понять идею его использования. Единственное, что я понимаю getattr(), getattr(li, "pop")это то же самое, что звонить li.pop. Я не понял, когда в книге упоминалось, как вы используете ее, чтобы получить ссылку на функцию, не …
295 python  getattr 

4
Понимание разницы между __getattr__ и __getattribute__
Я пытаюсь понять разницу между ними, __getattr__и __getattribute__, тем не менее, мне это не удается. Ответ на вопрос переполнения стека Разница между __getattr__VS__getattribute__ говорит: __getattribute__вызывается перед просмотром фактических атрибутов объекта, и поэтому может быть сложно реализовать правильно. Вы можете очень легко попасть в бесконечные рекурсии. Я понятия не имею, что …


4
Как мне вызвать setattr () в текущем модуле?
Что мне передать в качестве первого параметра objectфункции setattr(object, name, value), чтобы установить переменные в текущем модуле? Например: setattr(object, "SOME_CONSTANT", 42); дает тот же эффект, что и: SOME_CONSTANT = 42 внутри модуля, содержащего эти строки (с правильными object). Я динамически генерирую несколько значений на уровне модуля, и, поскольку я не …

8
__getattr__ в модуле
Как можно реализовать эквивалент __getattr__класса в модуле? пример При вызове функции, которая не существует в статически определенных атрибутах модуля, я хочу создать экземпляр класса в этом модуле и вызвать в нем метод с тем же именем, что и при поиске атрибутов в модуле. class A(object): def salutation(self, accusative): print "hello", …

6
Как реализовать __getattribute__ без бесконечной ошибки рекурсии?
Я хочу переопределить доступ к одной переменной в классе, но вернуть все остальные в обычном режиме. Как мне это сделать __getattribute__? Я пробовал следующее (что также должно иллюстрировать то, что я пытаюсь сделать), но получаю ошибку рекурсии: class D(object): def __init__(self): self.test=20 self.test2=21 def __getattribute__(self,name): if name=='test': return 0. else: …
102 python  class  oop  recursion  getattr 
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.