170 похожих чатов

Вы кстати заморачиваетесь с Celsius = float # ну или TypeAlias, если

свежий питон
temp: Celsius = 36.6
?

12 ответов

12 просмотров

тогда уж Celsius = NewType("Celsius", float(

Ньютайпы тогда уж

Виктор- Автор вопроса
Виктор
А в чем плюс NewType?

mypy будет ругаться на неявные касты

Виктор- Автор вопроса

foo: Celsius = 10.0 + 20.0 Будет ошибкой?

Виктор
foo: Celsius = 10.0 + 20.0 Будет ошибкой?

да, вдруг ты метры к килограммам прибавляешь

Виктор- Автор вопроса
Tishka17
да, вдруг ты метры к килограммам прибавляешь

Хммм, не очень ( Если такие хинты только в части кодовой базы, то Foo = float Bar = float x: float = 1.23 y: Foo = 1.23 z: Bar = 1.23 def foo(n: Foo): pass foo(x) # no error foo(y) # no error foo(z) # error Будет для меня идеальным поведением

Виктор
Хммм, не очень ( Если такие хинты только в части к...

Вот я взял и длине приравнял вес. Это не корректно же $ mypy aliases.py Success: no issues found in 1 source file $ cat aliases.py Length = float Weight = float x: Weight = 1 y: Length = x

Виктор- Автор вопроса
Tishka17
Вот я взял и длине приравнял вес. Это не корректно...

Да, но тогда если ты сменишь тайпхинт float на Length в фунцию, которая вызывается в 10 местах с float аргументами, придется добавлять касты перед вызовом во всех этих местах

Виктор
Да, но тогда если ты сменишь тайпхинт float на Len...

нет, касты надо только на входе, в коде везде придется менять на Length, иначе смысла ноль в этом

Tishka17
нет, касты надо только на входе, в коде везде прид...

cast вообще для случаев "у нас тут динамическое легаси, его нормально не затипизировать, переписывать лень, Any не хотим, завалим кастами"

Виктор- Автор вопроса
Andrey
cast вообще для случаев "у нас тут динамическое ле...

"Динамическое легаси которое лень переписывать" - это примерно моя ситуация )

Похожие вопросы

Обсуждают сегодня

Такс, блин, таки кто-то знает, каким образом работают макросы stdin/stdout/stderr? Я влез в stdio.h, там определения нет, отладил через асмокод - вызывается функция со странны...
The Bird of Hermes
18
Всем привет, на линуксе лучше на fasm или nasm учиться писать для начала ?
meszjol
14
я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
Если у меня есть такой класс: Object = {} function Object:new(a_name, a_transform, a_color, a_mesh, a_material, a_shader, a_textures) local private = {} private.n...
Cuarno Vile
4
было так ;void set_http_ver(RESPD* ptr, char* version, uint32_t length) // example: 'RTSP/1.1 ' set_http_ver: mov eax, [esp + 4] mov ecx, [esp + 8] ...
Mixail Frolov
5
А еще в перле можно уже @arr1 + @arr2?
Sergei Zhmylove
53
зачем же переименовывать ? чтобы кол-во участников возросло или вдруг IBM от этого снова на свифте начнет кодить ? Я не понимаю что страшного в том что свифт гавно, если это т...
Oleh Nerzh
10
@MrMiscipitlick А можешь макрос написать, который будет вычислять смещение относительно переданных меток? Просто .label1-.label2, и вернуть значение.
КТ315
35
здравствуйте. совершаю вот такую вещь: strcpy(line, (char)current_number); где current number — неподписанный шорт, line — массив чаров. ругань следующая: main.c:29:30: error...
Roberto's Ширгозиев
13
Где закоментить или что то прописать?
Alibek Кulseitov 🇰🇿
7
Карта сайта