Зачем использовать __setattr__ в python?

У Вас может уже быть Проводник Процесса (от Sysinternals, теперь часть Microsoft) установленный. В противном случае разрешение и установка это теперь - это просто настолько прохладно.

В Проводнике Процесса: найдите рассматриваемый процесс, щелкните правой кнопкой и выберите вкладку TCP/IP. Это даже покажет Вам, для каждого сокета, отслеживание стека, представляющее код, который открыл тот сокет.

23
задан wRAR 22 April 2011 в 11:48
поделиться

1 ответ

__setattr__ - это метод класса, который вызывается встроенным методом setattr. То есть, если __setattr__ определено в данном классе. Чаще всего вы не декларируете свою собственную версию __setattr__, поэтому я предполагаю, что вы спрашиваете, для чего используется метод setattr.

Предположим, у вас есть переменная с именем атрибута, который вы хотите установить, вместо того, чтобы просто знать имя:

class A(object):
    def doSth(self, name, val):
        setattr(self, name, val)

невозможно сделать с self.name = val

Также общее использование с ключевыми словами args:

class A(object):
    def __init__(self, *args, **kwargs):
        for k,v in kwargs.items():
            setattr(self, k, v)
15
ответ дан 29 November 2019 в 01:20
поделиться
Другие вопросы по тегам:

Похожие вопросы: