
dmks
08.12.2017
08:31:47

Zart
08.12.2017
08:31:57

Dmitry
08.12.2017
08:32:06
В курсе.

Zart
08.12.2017
08:32:48
а.. ну тогда это демонстрация интернирования

Google

Dmitry
08.12.2017
08:33:23
In [6]: def a(x, y):
...: return x % y
In [7]: a('foo%s', 'bar') is a('foo%s', 'bar')
Out[7]: False
In [8]: a(2, 4) is a(2, 4)
Out[8]: True

Zart
08.12.2017
08:34:01
там помнится была проверка на длину, если строка будет длинной, факир будет пьян и факинг не удастся

Dmitry
08.12.2017
08:34:13
почему с интами работает
байткод разный чтоле )))

Zart
08.12.2017
08:34:52
200, 400 пазазя

Dmitry
08.12.2017
08:35:10
In [9]: a(200, 400) is a(200, 400)
Out[9]: True

Cykooz
08.12.2017
08:35:18
Там до 256 кажется "закешировано"

Zart
08.12.2017
08:35:27
а, не. 1999 и 1000
да
его примеры в кэш попадают

Dmitry
08.12.2017
08:35:52
In [11]: a(2 ** 10, 4 ** 10) is a(2 ** 10, 4 ** 10)
Out[11]: False

dmks
08.12.2017
08:36:17
Я все еще не понимаю к чему эти примеры и что ими пытаются доказать -_-

Zart
08.12.2017
08:36:32
зачем он эти бояны откопал хз

Google

Dmitry
08.12.2017
08:36:59
Ну то есть это по твоему фича реализации. Эталонной реализации, на которую и тесты написаны и которые прогоняют все остальные реализации, чтобы называться реализацией.

Alexey
08.12.2017
08:37:36

dmks
08.12.2017
08:37:55
Я так и думал что ты пропал проверять %)

Alexey
08.12.2017
08:38:06
Хуль тут проверять-то?
Я сейчас ещё пропаду. Вернусь с тридцатью килограммами винила из бриташки.

Dmitry
08.12.2017
08:38:33
так не дикт хачить надо а MyObj )))

Alexey
08.12.2017
08:38:46
На хуй хачики-то?
Твоё условие выполнено, ты напиздел.
инит могу тоже выкинуть, сделан для удобства.

Zart
08.12.2017
08:39:07

Dmitry
08.12.2017
08:39:08
от слова - hack

Alexey
08.12.2017
08:39:54

Zart
08.12.2017
08:39:59
другие реализации этого поведения не имеют

Alexey
08.12.2017
08:40:05

Dmitry
08.12.2017
08:41:10
А можно чтобы еще c set работало?
и с frozenset

Alexey
08.12.2017
08:41:21

Google

Alexey
08.12.2017
08:41:33
(третий)

Dmitry
08.12.2017
08:42:52
Ты наверное неправильно понял задачу, я имелл ввиду, что новые инстансы объекта MyObj - давали один и тот-же хешируемый объект.
В твоем исполнении и интерпретации задачи, я тебя прям жестоко наебал.

Alexey
08.12.2017
08:46:41
Слышь.
Задача решена, необходимы только гет, сет и стр. Всё.
Двойбан тебе двойной, первый за матчасть, второй за попытку съехать с темы, а не признать, что пропизделся. :3
И ещё дежурить в классе будешь после уроков всю четверть оставшуюяся. :3

Zart
08.12.2017
08:49:09
хэш надо
иначе в дикт не полезет в ключ

Alexey
08.12.2017
08:49:22
В той задачи что я увидел — не надо.

Dmitry
08.12.2017
08:49:32
хэш надо
Не, у него свой собственный dict

Zart
08.12.2017
08:49:33
если только майобж не унаследован от иммутабла

Alexey
08.12.2017
08:49:51
хэш надо
У тайпа MyObj есть хеш от object.

Zart
08.12.2017
08:49:53
на скрине не видно что дикт перекрыт

Alexey
08.12.2017
08:50:10
У меня там гет неправильный.
Но вот так работает и получается резат как запрошено.

Шон Крэхан
08.12.2017
08:50:27
У вас тут скучно, заходите на пранкоту!

Zart
08.12.2017
08:50:30
а, клёво, по дефолту таки влазит

Google

Dmitry
08.12.2017
08:50:36

Alexey
08.12.2017
08:50:43
Вывод — утверждение "никто не знает чо надо определить" как минимум ложное.

Cykooz
08.12.2017
08:51:15
Это пример ситуации - заказчик не уточнил в ТЗ что он хочет, а исполнитель сделал как понял, не задав уточняющие вопросы. Получилось - как всегда.

Dmitry
08.12.2017
08:51:49
Филосовский вопрос "Нахер так жить?" останется без ответа.

Alexey
08.12.2017
08:52:15

Dmitry
08.12.2017
08:53:10
По русскому - это точно )))

Alexey
08.12.2017
08:53:26
Ты сам начал эту войну, гг.

dmks
08.12.2017
08:54:44

Admin
ERROR: S client not available

Dmitry
08.12.2017
08:54:58
Это чат словесности?

Alexey
08.12.2017
08:55:07

dmks
08.12.2017
08:55:11

Dmitry
08.12.2017
08:57:10

Zart
08.12.2017
08:58:45
оно неприятная "особенность" для кретинов, использующих is не по назначению
в претензии отказать
а то ща начнут еще вспоминать === в пыхе с жабой до кучи
олсо жаба шлёт приветы с isEqual или как оно там

Dmitry
08.12.2017
09:00:04
Почему не по назначению... is на треть быстрее.
In [3]: %timeit 256 == 2 ** 8
40 ns ± 4.79 ns per loop (mean ± std. dev. of 7 runs, 10000000 loops each)
In [4]: %timeit 256 is 2 ** 8
27.8 ns ± 2.77 ns per loop (mean ± std. dev. of 7 runs, 10000000 loops each)

Zart
08.12.2017
09:00:15
ты дебил шоле

Алексей
08.12.2017
09:00:32
а вот и микрооптимизаторы подъехали

dmks
08.12.2017
09:00:46

Google

Zart
08.12.2017
09:00:57
взял и заменил одну операцию совсем другой лишь на основании "краснинькое бысрее"
http://blog.mclemon.io/ironpython-integer-performance-improvements забавно, в айронпитон тоже подвезли кэширование интов

Dmitry
08.12.2017
09:01:44
In [5]: hash(2 ** 32)
Out[5]: 4294967296
In [6]: hash(2 ** 32)
Out[6]: 4294967296
Ну почему-же, hash одинаковый

dmks
08.12.2017
09:02:21
удивительно, почему бы это

Zart
08.12.2017
09:02:21
а причем тут хэш, если is проверяет адреса, которые id()

Dmitry
08.12.2017
09:02:53
то есть можно вместо __eq__ hash сравнивать?

Zart
08.12.2017
09:03:11
а типы сравнить...

Dmitry
08.12.2017
09:04:08
в случае если это необходимо.

Roman
08.12.2017
09:04:35
Между тем образовательного накала тут давно не было. Так что хорошо, очень хорошо :-)

Zart
08.12.2017
09:04:44
https://github.com/python/cpython/blob/master/Objects/object.c#L638-L687 как питон проверяет ==
всё еще хочешь только хэши сравнивать?
как я и думал, первым идёт сравнение типов

Dmitry
08.12.2017
09:05:43
Если ты из файла, например, struct.unpack сделал, можно не проверять же ?

Zart
08.12.2017
09:05:51
проверять что?

Dmitry
08.12.2017
09:06:06
ээ... типы?

Zart
08.12.2017
09:06:21
каким членом тут анпак?
чота я уже не понимаю о чем вообще тред

Dmitry
08.12.2017
09:07:06
struct.unpack("i", ...) всегда возвращает инты (странно да), и можно их, казалось бы, через is сравнивать.
ан нет.

Alexey
08.12.2017
09:07:15

Zart
08.12.2017
09:07:37
не наша проблема что тебе казалось и мерещилось

Alexey
08.12.2017
09:07:43
Ты давай ещё два стула сравни по вкусу туманности.