Как получить значения всех свойств (кроме наследованных), принадлежащих определенному классу в Python 3Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Как получить значения всех свойств (кроме наследованных), принадлежащих определенному классу в Python 3

Сообщение Anonymous »

Как (в Python 3) получить значения всех свойств, принадлежащих определенному классу. Мне нужны ТОЛЬКО те значения (свойства), которые определены в определенном классе без наследуемых.

Вот пример:

Код: Выделить всё

class A(object):
def __init__(self, color):
self._color = color

@property
def color(self):
return self._color

class B(A):
def __init__(self, color, height, width):
super().__init__(color)
self._height = height
self._width = width

@property
def height(self):
return self._height

@property
def width(self):
return self._width
а вот код для получения всех значений (включая наследуемые):

Код: Выделить всё

b_inst = B('red', 10, 20)
val = [{p: b_inst.__getattribute__(p)} for p in dir(B)
if isinstance(getattr(B, p), property)]

print(val)

>> [{'color': 'red'}, {'height': 10}, {'width': 20}]
Теперь я просто хочу получить значения свойств, определенных ТОЛЬКО в классе B, то есть высоту и ширину.

Теперь я просто хочу получить значения свойств, определенных ТОЛЬКО в классе B, то есть высоту и ширину.

п>

Подробнее здесь: https://stackoverflow.com/questions/459 ... g-to-speci
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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