Это видео недоступно.
Сожалеем об этом.
Лучший курс по Python 6.0: float
HTML-код
- Опубликовано: 17 авг 2024
- Лучший курс по питону: 6.0
Или "обзор исходников CPython с CPython core разработчиком".
Тема: float в Python
Хочу выразить большую благодарность за помощь в подготовке видео:
- Mark Dickinson, многолетний CPython-core разработчик с практическим интересом в числах github.com/mdi...
- Магические методы float
- Способы записи float
- Неточность float
- Популярные ошибки при работе с float
- Float and double memory layout или устройство памяти float и double
- Знак, порядок, мантисса в double
- sys.float_info
- sys.float_repr_style и отображение чисел
- NaN, +Infinity, -Infinity
00:00 Вступление
01:19 Junior
06:04 Middle
18:41 Senior
41:46 Завершение
Полезные ссылки:
- Все материалы: github.com/sob...
- Мой GitHub: github.com/sob...
- Мой телеграм канал: t.me/opensourc...
- Поддержать: boosty.to/sobo...
- Сообщество: discord.python.ru
Не только лишь все заметят ошибку в названии видео, ведь на самом деле там было
ЛКПП 0.6000000000000001: float
😆
Поставил 1..real лайк, спасибо за классное видео!
Спасибо)) очень полезный курс, float всегда был сложным, но очень интересным
Спасибо, было познавательно и интересно!
Было странно среди "популярных ошибок" не увидеть расстановку скобочек. Ну и вообще - усердное применение успешно усвоенных в курсе средней школы правил элементарной алгебры для всяческого "упрощения". Власти скрывают!
Не знаю, стало ли понятно слушателям, что вообще-то одному и тому же float могут соответствовать несколько десятичных литералов (так что точное значение можно задавать только float.fromhex). Эти моменты (в т.ч. поведение repr) хорошо изложены в Tutorial (15. Floating-Point Arithmetic).
Да, на него есть ссылка в материалах!
43 минуты пролетели незаметно, думал выпуск как обычно на 20+ минут)
Криптобиржи часто(всегда?) используют для чисел два поля: число как int и экспоненту.
Кажется в этом случае мы избавляемся от боли, но подозреваю что FLOPS сильно падает. Стоит ли так делать или это древнее зло, которое победит Decimal?
Спасибо! Про ваш вопрос: не знаю, я не представляю, что делают крипто-биржи внутри. Раз используют, то возможно не просто так :)
Decimal и есть число (или массив чисел в других языках) и экспонента. Да, это негативно (иногда незначительно) влияет на производительность по сравнению с обычными float. Поэтому тут скорее встаёт вопрос, есть ли поддержка Decimal в языке или СУБД.
Для цены одного актива в другом часто используют fractions. Например, USD/RUB будет храниться как дробь Fraction(85, 1). Так можно быстро и без лишних делений посчитать стоимость N долларов в рублях - N * Fraction(85, 1), или стоимость, скажем, евро, если сначала обменять доллары на рубли, а их на евро - USD/RUB * RUB/EUR.
Источник: я разработчик на криптобирже
1. Думал, что С++ сложный, но и в Python хватает нюансов )
2. Почему 1 равно 1.0 и равно True для hash(.)?
3. Кто допустил float в качестве ключа )?
2. Если объекты равны, их hash должен быть равен: docs.python.org/3/reference/datamodel.html#object.__hash__
3. любой hashable объект может быть ключом :)
@@sobolevn , по 2. Но ведь 1 != 1.0
@@Anatolii_V_Novikov попробуйте `assert 1 == 1.0` :)
@@sobolevn я пробовал 1 == 1.0, выдал false
@@sobolevn а так-то да, если 1.0 внутри хэш-метода приводится к 1, и true приводится к интовой 1, то тогда понятно
Косвенно про тему флоатов Anthony выпустил любопытный ролик про аннотацию "`x: float = False` is a valid annotation??? (intermediate) anthony explains #575"
я хотел сделать `--strict-bool`, но потом забыл про него :) github.com/python/mypy/issues/8363 возможно, как раз - повод заняться!
А вот и PR: github.com/python/mypy/pull/17487
21:22 А что у python есть стандарт? вот прям стандарт, с голосованием и комитетом? что-то новенькое.
Конечно. Он составной. Есть документация + PEPы + стандарты отдельных частей (например: typing typing.readthedocs.io/en/latest/spec/index.html). Коммитеты тоже есть: Steering Council, Typing Council, C-API WG, тд.
@@sobolevn ой не не не, все таки не корректно называть спецификацию стандартом, а советы комитетами. это все разные сущности.
@@ztarlitz отчего-ж? потому что спецификация свободно доступна, в отличие от стандартов (например C)? И чем совет хуже комитета?! Вся власть советам!