Я пытаюсь создать функцию, которая печатает все атрибуты моего класса. Кажется, что он работает хорошо, но есть одна проблема - он печатает методы, которые я не хочу.Получить все атрибуты, но не методы
def print_all(self):
attributes = [attr for attr in dir(self)
if not attr.startswith('__')]
for attr in attributes:
if getattr(self, attr) == None:
continue
value = str(getattr(self,attr))
print attr + ':' + value
Не могли бы вы посоветовать мне, как избежать методов печати?
Таким образом, вы только хотите ип [ 'callable'] (https://docs.python.org/3/library/functions.html#callable) атрибуты? Кроме того, вы должны проверить значение 'None' на * identity *, а не * равенство * -', если foo - None: '. – jonrsharpe
'self .__ dict__'? – IanAuld
@jonrsharpe Почему я должен тестировать его по личность? спасибо –