Библиотека определяет классы, каждый из которых имеет множество атрибутов, аналогичных стандартным типам Python, но с несколькими дополнительными методами. например, в заглушках Python «String» наследуется от стандартного «str»
Код: Выделить всё
class String(str):
def get_key(self) -> str:
"""Return the key for this property."""
...
Код: Выделить всё
class Asset:
name: String = ''
...
Код: Выделить всё
my_asset.name = 'Foo'
print(my_asset.name) # Foo
print(type(my_asset.name)) # String
print(my_asset.name.get_key()) # name
Невозможно присвоить атрибуту "имя" для класса "Актив".
"str" несовместим с " String" PylancereportAttributeAccessIssue
(переменная) имя: str
Есть ли способ изменить мои заглушки Python таким образом что специалисты по проверке типов поймут, что String совместим с str, а не просто наследуется от него?
Подробнее здесь: https://stackoverflow.com/questions/787 ... super-type