Я не думаю, что есть что-то простое, и с чего бы это? Нет никакой языковой разницы между магическими и пользовательскими атрибутами.
Решение MYYN не будет работать, если у вас есть определенный пользователем атрибут, начинающийся с '__'. Тем не менее, он предлагает решение, основанное на соглашениях: если вы хотите проанализировать свои собственные классы, вы можете определить собственное соглашение об именах и отфильтровать его.
Возможно, если вы объясните необходимость, мы сможем найти лучшее решение.