Динамически добавленные атрибуты класса с методами Getter/Setter в цикле PythonPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Динамически добавленные атрибуты класса с методами Getter/Setter в цикле Python

Сообщение Anonymous »

Я пытаюсь динамически назначить атрибуты класса существующему пользовательскому классу. Эти атрибуты имеют индивидуальные методы Getter и Setter, определенные в цикле во всех атрибутах, которые будут созданы, и присваиваются с помощью setattr () в цикле. Пожалуйста, смотрите код ниже. Принимая во внимание, что если я использую setattr () в операторе eval () , он работает правильно, то есть каждый атрибут, указывающий на его собственное значение. Может ли кто -нибудь умнее меня, пожалуйста, дать официальное объяснение о том, что происходит и есть ли более чистое решение, чем использование eval () ?
for attr in attr_list:
def getter(self):
return getattr(self, attr)

def setter(self, value):
setattr(self, attr, value)

# DOES NOT WORK
setattr(self.__class__, attr, property(getter, setter))

# WORKS
eval(f'setattr(self.__class__, \'{attr}\', property(lambda self: getattr(self, \'{attr}\'), lambda self, value: setattr(self, {attr}, value)))')


Подробнее здесь: https://stackoverflow.com/questions/796 ... p-in-pytho
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Динамически добавленные атрибуты класса с методами Getter/Setter в цикле Python
    Anonymous » » в форуме Python
    0 Ответы
    2 Просмотры
    Последнее сообщение Anonymous
  • При использовании Lombok 1.18.32 с Java 17 выдается ошибка: типы Lombok.Setter и Lombok.Setter недоступны.
    Anonymous » » в форуме JAVA
    0 Ответы
    107 Просмотры
    Последнее сообщение Anonymous
  • Методы Python Getter и Setter [закрыто]
    Anonymous » » в форуме Python
    0 Ответы
    16 Просмотры
    Последнее сообщение Anonymous
  • Методы Python Getter и Setter [закрыто]
    Anonymous » » в форуме Python
    0 Ответы
    15 Просмотры
    Последнее сообщение Anonymous
  • Добавлена ​​зависимость Lombok, но @getter, @setter не работает для классов
    Гость » » в форуме JAVA
    0 Ответы
    53 Просмотры
    Последнее сообщение Гость

Вернуться в «Python»