Вопросы по теме 'static-typing'
Интерфейс против базового класса
Когда мне следует использовать интерфейс, а когда - базовый класс?
Всегда ли это должен быть интерфейс, если я не хочу фактически определять базовую реализацию методов?
Если у меня класс собаки и кошки. Зачем мне использовать IPet вместо...
168871 просмотров
schedule
03.06.2022
В чем разница между языком со строгой типизацией и языком со статической типизацией?
Кроме того, одно подразумевает другое?
233743 просмотров
schedule
24.05.2023
Возможен ли статически типизированный полный вариант Лиспа?
Возможен ли статически типизированный полный вариант Лиспа? Есть ли вообще смысл в существовании чего-то подобного? Я считаю, что одним из достоинств языка Lisp является простота его определения. Подорвет ли статическая типизация этот основной...
27255 просмотров
schedule
03.06.2022
Будет ли необязательная статическая типизация пользой для разработки Python API или недостатком? (включен пример декоратора проверки типов)
Я долгое время разрабатываю Python, и мне очень нравится динамическая природа языка, но мне интересно, выиграет ли Python от необязательной статической типизации. Была бы полезна возможность применять статическую типизацию к API библиотеки и каковы...
405 просмотров
schedule
18.03.2023
Как Lisp может быть одновременно динамическим и компилируемым?
Итак, сначала, чтобы разобраться с этим: я прочитал следующий ответ:
Как Lisp динамичен и компилируется?
но я не совсем понимаю его ответ.
На таком языке, как Python, выражение:
x = a + b
На самом деле не может быть скомпилирован,...
1727 просмотров
schedule
20.11.2022
mypy не обнаруживает ошибку базового типа
С питоном 3.5.1. и текущая установка mypy с использованием git, mypy помечает ошибки 1 и 2, но не сообщает об ошибке 3
Что я делаю не так, или это баг, или это известная проблема?
import typing
def test_ordered_dict(od: typing.Dict[str,int])...
1392 просмотров
schedule
22.09.2022
Забывает ли структурное подтипирование потока определенные свойства подтипа?
В настоящее время я изучаю структурную типизацию. Я скептически отношусь к идее, что два типа считаются эквивалентными только потому, что у них есть часть общей структуры. Это очень похоже на статическую утиную типизацию и полностью игнорирует...
84 просмотров
schedule
13.08.2022
Статический тип объекта исключения
Я прочитал следующее из C++ Primer (5-е издание, раздел 18.1.1): «Когда мы выбрасываем выражение, статический тип времени компиляции этого выражения определяет тип объекта исключения». Итак, я попробовал следующий код:
#include <iostream>...
217 просмотров
schedule
15.02.2024
Тип объекта исключения, созданного выражением исключения
Я прочитал следующее из C++ Primer (5-е издание, раздел 18.1.1): «Когда мы выбрасываем выражение, статический тип времени компиляции этого выражения определяет тип объекта исключения».
Под "типом объекта исключения" автор подразумевает...
83 просмотров
schedule
21.07.2023
Как объявить гибрид процедуры / функции в MyPy
У меня есть функция, которая может возвращать значение (тогда это должно быть int) или вести себя как процедура (т. Е. Она вообще не вызывает return, а затем фактически возвращает None ). Как вы уже догадались, это функция main() в этом хорошо...
150 просмотров
schedule
25.08.2022
Пусть mypy предупреждает о проверках на равенство переменных разных типов
mypy --strict допускает следующий минимальный пример без ошибок:
a: int = 1
b: str = '1'
if a == b:
pass
else:
pass
Есть ли возможность заставить его выдавать ошибку (или хотя бы предупреждение) о строке if a == b: ?
313 просмотров
schedule
09.07.2022
Как преобразовать полиморфное значение в строку?
На самом деле я ищу функцию с такой подписью, как 'a -> string , которая преобразует данный полиморфный тип в строку. Я уже думал о чем-то вроде
let func elem = match elem with
| int -> string_of_int elem ...
Надеюсь, кто-нибудь может...
102 просмотров
schedule
05.03.2022
Как проверить тип TypeVar во время выполнения
У меня есть общий класс Graph[Generic[T], object] . Мой вопрос, есть ли какая-нибудь функция, которая возвращает тип, переданный как общий класс Graph
>>> g = Graph[int]()
>>> magic_func(g)
<class 'int'>
412 просмотров
schedule
17.07.2023
Можно ли объявить статическую типизированную переменную?
Если у меня есть следующая функция:
def rand(int: int) -> int:
...
rand('2')
Это работает, потому что когда я вызываю функцию rand , редактор показывает ошибку. Но он все еще компилирует код. И я могу написать что-то вроде:
def...
57 просмотров
schedule
27.07.2023