Поскольку имена атрибутов только что хэшируются и включаются в клавиши на inst.__dict__
для 99% классов, с которыми вы когда-либо столкнетесь, нет реального предела по длине. Пока он хешируется, он будет работать как имя атрибута. Для остальных 1% классов, которые играют с __setattr__
\ __getattr__
\ __getattribute__
способами, которые нарушают гарантию того, что что-либо hashable является допустимым именем атрибута, хотя предыдущее не применяется.
Конечно, как указывали другие, у вас будут проблемы с качеством кода и качеством с более длинными именованными атрибутами. Если вам кажется, что вам нужны такие длинные имена, это, скорее всего, указывает на недостаток дизайна в вашей программе, и вам следует, вероятно, взглянуть на то, чтобы ваши данные были более иерархичной структурой и лучше абстрагироваться и делить ответственность на ваши функции и методы.
Пожалуйста, не делайте этого. Длинные имена не всегда плохие, но они запах кода. В этом случае я бы сократил имя и поместил более подробное описание в строку doc. Кроме того, я бы либо занесенный в список результатов, либо бросил явно написанное исключение, объяснив неудачную проверку. –