Каково соглашение в соответствии с PEP 8 для записи переменных, которые идентифицируют имена классов (а не экземпляры)?
То есть, учитывая два класса, A
и B
, какой из следующих утверждений был бы правильным?
target_class = A if some_condition else B
instance = target_class()
или
TargetClass = A if some_condition else B
instance = TargetClass()
Как указано в руководстве по стилю,
Имена классов:
Имена классов обычно должны использовать соглашение CapWords.
Но также
Имена методов и переменные экземпляра:
Используйте правила именования функций: в нижнем регистре со словами, разделенными символами подчеркивания, для повышения удобочитаемости.
По-моему, эти две конвенции сталкиваются, и я не могу найти, какой из них преобладает.