Я хочу объявить тип переменной, которую я не объявляю сам, но о существовании которой я знаю.
Мотивация
Я в настоящее время работаю с библиотекой kivy, которая плохо справляется с указанием проверяющим статические типы типов ее полей. Я хотел бы сам указать типы, чтобы иметь возможность автодополнения. В приведенном ниже примере self.ids будет DictProperty (я считаю, что это подкласс dict), и я хочу объявить тип self.ids.task_list_area.
Постановка задачи
Как объявить тип self.ids.task_list_area в следующем коде? p>
class MyScreenManager(ScreenManager):
task_list = ["Do Homework", "Take out Trash"]
class DetailsScreen(Screen):
manager: MyScreenManager # this works
# ids: dict
# ids.task_list_area: BoxLayout # this does not work because ids does not exist
def display_tasks(self):
print(self.manager.task_list) # this is correctly infered as list[str]
# this works at runtime, but the type checker has no clue what is happening
print(self.ids.task_list_area)
def display_tasks_with_annotation(self):
self.ids.task_list_area: BoxLayout # this does not error, but does not work either
print(self.ids.task_list_area) # type checker still knows nothing
Подробнее здесь: https://stackoverflow.com/questions/792 ... d-variable
Как объявить тип атрибута необъявленной переменной ⇐ Python
Программы на Python
-
Anonymous
1732972489
Anonymous
Я хочу объявить тип переменной, которую я не объявляю сам, но о существовании которой я знаю.
Мотивация
Я в настоящее время работаю с библиотекой kivy, которая плохо справляется с указанием проверяющим статические типы типов ее полей. Я хотел бы сам указать типы, чтобы иметь возможность автодополнения. В приведенном ниже примере self.ids будет DictProperty (я считаю, что это подкласс dict), и я хочу объявить тип self.ids.task_list_area.
Постановка задачи
Как объявить тип self.ids.task_list_area в следующем коде? p>
class MyScreenManager(ScreenManager):
task_list = ["Do Homework", "Take out Trash"]
class DetailsScreen(Screen):
manager: MyScreenManager # this works
# ids: dict
# ids.task_list_area: BoxLayout # this does not work because ids does not exist
def display_tasks(self):
print(self.manager.task_list) # this is correctly infered as list[str]
# this works at runtime, but the type checker has no clue what is happening
print(self.ids.task_list_area)
def display_tasks_with_annotation(self):
self.ids.task_list_area: BoxLayout # this does not error, but does not work either
print(self.ids.task_list_area) # type checker still knows nothing
Подробнее здесь: [url]https://stackoverflow.com/questions/79239590/how-to-declare-the-type-of-the-attribute-of-an-undeclared-variable[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия