Search
Write a publication
Pull to refresh
1
0

Test Automation Engineer

Send message

Для статьи мне ваш вариант кажется лучше, потому что всё явным образом объявлено. Читателю не нужно вникать в range, можно вообще про него не знать. Но если бы я для себя писал код - то автоматически написал бы с range(). Что собственно и было сделано.

Ваши результаты, похоже, подверждают догадку, что сперва проверяется < > и если число не в диапазоне то дополнительная проверка не делается и, следовательно, времени тратится меньше.

Предлагаю компромиссную терминологию: от примера с range глаз должен не дергаться а моргать примерно в 2-3 раза чаще чем обычно.

Подозреваю, что речь идёт о том, что в случае с int, проверка in range() происходит примерно также как вы написали в своей версии.

То есть сравнивается с началом диапазона, с концом и делается что-то ещё но не перебор.

Я плохо понимаю Си, но если вы разбираетесь - то ответ где-то здесь:

https://github.com/python/cpython/blob/3.13/Objects/rangeobject.c#L483

Мне ваш вариант больше нравится, попробую внести изменение в статью, спасибо

Спасибо за то что прочитали! Цель задёргать глаз я не ставил, вы тоже извините)) Как лучше написать эту функцию по вашему мнению?

Information

Rating
2,589-th
Registered
Activity

Specialization

Test Automation Engineer
From 300,000 ₽
Python
Bash
Linux
Docker
Robot Framework