14446
Вопросы про Python для чайников. Cпам и троллинг неприемлем. Частозадаваемые вопросы: https://github.com/ru-python-beginners/faq/blob/master/README.md Правила группы: https://t.me/ru_python_beginners/1649981
Я вот сегодня сидел, сочинял бесполезный словарь с дефолтом через слайсы, типа dct[key:default]. Бесполезно, но симпатично.
По-моему даже интернирование на этапе "компиляции" не гарантируется ничем
Читать полностью…
Я помню на кодеварс был модный чит, когда в кодгольфе возвращали объект с eq возвращающим True. Проходили все тесты.
Читать полностью…
Ну ладно семантика все же есть, Equals подразумевает именно сравнение по значению если оно есть
Читать полностью…
В шарпе кстати и Equals (для которого как я помню нужен специальный интерфейс в идеале) и == переопределяются и в общем случае не имеют конкретной семантики
Читать полностью…
можно кстати оператор isNone добавить чисто для сравнения с None
а то слишком хорошее слово для очень нишевого оператора
Читать полностью…
>>> (1, 2) + (3,) is (1,) + (2, 3)
<python-input-0>:1: SyntaxWarning: "is" with 'tuple' literal. Did you mean "=="?
>>> True
Если спеки нет, то что тогда реализует cpython? 🤔
Читать полностью…
Ну оно и со строками моментами странно работает, так что да, полагаться на него не стоит
Читать полностью…
Если завтра кому-то понадобится, то это выпилят
Читать полностью…
Ну наверное со стороны того кто пишет тесты надо добавлять и случаи где надо вернуть false
Читать полностью…
А вот == насколько я понимаю это хз что. Можно как нравится воротить
Читать полностью…
Чтобы достоверно проверить равенство ссылок есть object.ReferenceEquals
Читать полностью…
традиция писать is None возникла из-за всяких ORM, numpy и прочих библиотек которые креативно переопределяют ==
Что лишний раз подтверждает, что не фиг ждать стабильности от не описанного поведения.
Читать полностью…
Если бы я отвечал за питон3.0, я бы is переименовал бы во что-нибудь более длинное и страшное
>>> a = (1,) + (2, 3)Читать полностью…
>>> b = (1, 2) + (3,)
>>> a is b
False
>>> a == b
True
>>> a, b
((1, 2, 3), (1, 2, 3))
То что реализовала прошлая версия + то что договорились добавить или поменять
Читать полностью…
граница очень чёткая: реализация существует, а спека — нет
Читать полностью…