Вопросы с тегом «type-hinting»

Подсказка типа связывает аргументы функции с конкретными объектами или строго их типизирует.

250
Каковы подсказки типа в Python 3.5?

Одной из самых обсуждаемых функций в Python 3.5 являются подсказки типов . Пример намеков типа упоминается в этой статье , и это одно в то же время , упоминая , чтобы использовать подсказки типа ответственно. Может кто-то объяснить больше о них, и когда они должны использоваться, а когда...

236
Добавление значения параметра по умолчанию с подсказкой типа в Python

Если у меня есть такая функция: def foo(name, opts={}): pass И я хочу добавить подсказки типа к параметрам, как мне это сделать? То, как я предположил, дает мне синтаксическую ошибку: def foo(name: str, opts={}: dict) -> str: pass Следующее не выдает синтаксическую ошибку, но это не похоже на...

217
Как решить «должен быть экземпляр строки, заданной строки» до PHP 7?

Вот мой код: function phpwtf(string $s) { echo "$s\n"; } phpwtf("Type hinting is da bomb"); Что приводит к этой ошибке: Исправляемая фатальная ошибка: аргумент 1, передаваемый в phpwtf (), должен быть экземпляром string, string Больше, чем маленький Оруэллиан, видит, как PHP распознает и отклоняет...

205
Как указать несколько типов возврата, используя подсказки типа

У меня есть функция в Python, которая может возвращать boolили list. Есть ли способ указать типы возврата, используя подсказки типа. Например, это правильный способ сделать это? def foo(id) -> list or bool:...

177
Как указать тип возвращаемого значения «nullable» с подсказками типа

Предположим, у меня есть функция: def get_some_date(some_argument: int=None) -> %datetime_or_None%: if some_argument is not None and some_argument == 1: return datetime.utcnow() else: return None Как мне указать тип возвращаемого значения для чего-то, что может быть...

173
Как я могу сказать PyCharm, какого типа должен быть параметр?

Когда дело доходит до конструкторов, присваиваний и вызовов методов, среда IDE PyCharm довольно хорошо анализирует мой исходный код и определяет тип каждой переменной. Мне нравится, когда это правильно, потому что это дает мне хорошее завершение кода и информацию о параметрах, и это дает мне...

159
Обнуляемые типы возврата в PHP7

PHP 7 вводит декларации возвращаемого типа . Это означает, что теперь я могу указать, что возвращаемое значение - это определенный класс, интерфейс, массив, вызываемый или один из недавно включаемых скалярных типов, как это возможно для параметров функции. function returnHello(): string { return...

159
Введите аннотации для * args и ** kwargs

Я пробую аннотации типов Python с абстрактными базовыми классами для написания некоторых интерфейсов. Есть ли способ аннотировать возможные типы *argsи **kwargs? Например, как можно выразить, что разумными аргументами функции являются intили два или два int? type(args)дает, Tupleпоэтому я...

138
Как я могу указать тип функции в моих подсказках типа?

Я хочу использовать подсказки типа в моем текущем проекте Python 3.5. Моя функция должна получить функцию как параметр. Как я могу указать функцию типа в моих подсказках типа? import typing def my_function(name:typing.AnyStr, func: typing.Function) -> None: # However, typing.Function does not...

130
Типовая подсказка для списка указанного типа

Используя аннотации функций Python 3, можно указать тип элементов, содержащихся в однородном списке (или другой коллекции), с целью указания типов в PyCharm и других IDE? Пример кода псевдо-Python для списка int: def my_func(l:list<int>): pass Я знаю, что можно использовать Docstring ... def...

127
Введите подсказки в namedtuple

Рассмотрим следующий фрагмент кода: from collections import namedtuple point = namedtuple("Point", ("x:int", "y:int")) Приведенный выше код - это всего лишь способ продемонстрировать, чего я пытаюсь достичь. Я хотел бы сделать namedtupleс подсказками типа. Знаете ли вы какой-нибудь изящный способ...

123
Подсказка типов Python без циклического импорта

Я пытаюсь разделить свой огромный класс на два; ну, в основном в "основной" класс и миксин с дополнительными функциями, например так: main.py файл: import mymixin.py class Main(object, MyMixin): def func1(self, xxx): ... mymixin.py файл: class MyMixin(object): def func2(self: Main, xxx): # <---...

118
Аннотация типа возвращаемого значения void в Python

В python 3.x обычно используется аннотация типа возвращаемого значения функции, например: def foo() -> str: return "bar" Какая аннотация подходит для типа "void"? Рассматриваю 3 варианта: def foo() -> None: не логично ИМО, потому что Noneэто не тип, def foo() -> type(None): используя...

109
Типовые подсказки с пользовательскими классами

Не могу найти однозначного ответа. Я хочу сделать подсказку типа для функции, и тип, являющийся некоторым настраиваемым классом, который я определил, назвал его CustomClass(). А затем, скажем, в какой-то функции вызовите ее FuncA(arg), у меня есть один аргумент с именем arg. Правильный ли способ...

96
Как я могу отловить «обнаруживаемую фатальную ошибку» при хинтинге типа PHP?

Я пытаюсь реализовать подсказку типа PHP5 в одном из моих классов, class ClassA { public function method_a (ClassB $b) {} } class ClassB {} class ClassWrong{} Правильное использование: $a = new ClassA; $a->method_a(new ClassB); производит ошибку: $a = new ClassA; $a->method_a(new...

95
Как мне использовать подсказку необязательного типа?

Я пытаюсь понять, как использовать Optionalподсказку типа. Из PEP-484 , я знаю , что я могу использовать Optionalдля def test(a: int = None)либо def test(a: Union[int, None])или def test(a: Optional[int]). Но как насчет следующих примеров? def test(a : dict = None): #print(a) ==> {'a': 1234}...

93
Как аннотировать типы в цикле for

Я хочу аннотировать тип переменной в forцикле. Я пробовал это: for i: int in range(5): pass Но это явно не сработало. Я ожидаю, что в PyCharm 2016.3.2 работает автозаполнение. Предварительная аннотация вроде этого: i: int for i in range(5): pass не помогает. PS Предварительная аннотация работает...