@rudepython

Страница 1380 из 1719
Stanislav
27.02.2019
12:02:20
neprivet.ru

Dmitry
27.02.2019
12:02:31
@stas_python он уже в R/O на сутки

как раз хватит времени пин дочитать

Александр
27.02.2019
13:20:30
Кто может объяснить, почему ('__dict__' in dict.__dict__) is False? ?

Google
vlade11115
27.02.2019
13:20:58
Потому что строки __dict__ в словаре нет.

Александр
27.02.2019
13:22:26
Потому что строки __dict__ в словаре нет.
меня как раз интересует, почему ее там нет

в главе Data Model ничего не нашел

vlade11115
27.02.2019
13:22:53
А почему она должна там быть?

>>> dict.__dict__ mappingproxy({'__repr__': <slot wrapper '__repr__' of 'dict' objects>, '__hash__': None, '__getattribute__': <slot wrapper '__getattribute__' of 'dict' objects>, '__lt__': <slot wrapper '__lt__' of 'dict' objects>, '__le__': <slot wrapper '__le__' of 'dict' objects>, '__eq__': <slot wrapper '__eq__' of 'dict' objects>, '__ne__': <slot wrapper '__ne__' of 'dict' objects>, '__gt__': <slot wrapper '__gt__' of 'dict' objects>, '__ge__': <slot wrapper '__ge__' of 'dict' objects>, '__iter__': <slot wrapper '__iter__' of 'dict' objects>, '__init__': <slot wrapper '__init__' of 'dict' objects>, '__len__': <slot wrapper '__len__' of 'dict' objects>, '__getitem__': <method '__getitem__' of 'dict' objects>, '__setitem__': <slot wrapper '__setitem__' of 'dict' objects>, '__delitem__': <slot wrapper '__delitem__' of 'dict' objects>, '__contains__': <method '__contains__' of 'dict' objects>, '__new__': <built-in method __new__ of type object at 0x1058d7ed0>, '__sizeof__': <method '__sizeof__' of 'dict' objects>, 'get': <method 'get' of 'dict' objects>, 'setdefault': <method 'setdefault' of 'dict' objects>, 'pop': <method 'pop' of 'dict' objects>, 'popitem': <method 'popitem' of 'dict' objects>, 'keys': <method 'keys' of 'dict' objects>, 'items': <method 'items' of 'dict' objects>, 'values': <method 'values' of 'dict' objects>, 'update': <method 'update' of 'dict' objects>, 'fromkeys': <method 'fromkeys' of 'dict' objects>, 'clear': <method 'clear' of 'dict' objects>, 'copy': <method 'copy' of 'dict' objects>, '__doc__': "dict() -> new empty dictionary\ndict(mapping) -> new dictionary initialized from a mapping object's\n (key, value) pairs\ndict(iterable) -> new dictionary initialized as if via:\n d = {}\n for k, v in iterable:\n d[k] = v\ndict(**kwargs) -> new dictionary initialized with the name=value pairs\n in the keyword argument list. For example: dict(one=1, two=2)"})

Александр
27.02.2019
13:24:42
А почему она должна там быть?
class C: pass ('__dict__' in C.__dict__) is True

vlade11115
27.02.2019
13:24:55
Так, и?

Donaudampf
27.02.2019
13:53:35
class C: pass ('__dict__' in C.__dict__) is True
class C: __slots__ = () и тоже нету __dict__

Александр
27.02.2019
13:59:49
В dict нет __slots__

Видимо, так имплементирован dict и другие встроенные типы

Zart
27.02.2019
14:00:37
чо

ты хочешь черепах all way down?

Александр
27.02.2019
14:01:10
чо
TypeError: can't set attributes of built-in/extension type 'dict'

Google
Zart
27.02.2019
14:01:20
и?

ты пришел показывать нам дефолтное поведение питоновых типов ради чего?

Александр
27.02.2019
14:02:09
я пришел за ответом, а получил в ответ вопрос

Zart
27.02.2019
14:02:43
потому что тот ключ там нахуй не нужен?

Александр
27.02.2019
14:03:14
нет, это неправильный ответ

Zart
27.02.2019
14:04:17
вопрос еще раз? почему в любойтип.__дикт__ нет ключа __дикт__?

а с какого хуя он там должен быть?

Александр
27.02.2019
14:04:54
('__dict__' in type.__dict__) is True

какого хуя он в type тогда?

если следовать твоей логике

Zart
27.02.2019
14:05:36
ты дурак или дурак?

__дикт__ хранит локальные данные экземпляра

Александр
27.02.2019
14:06:09
я и без тебя прекрасно знаю, зачем используется __dict__

Zart
27.02.2019
14:06:46
тогда в чем вопрос?

Александр
27.02.2019
14:07:03
бля, забей

Николай
27.02.2019
14:07:16
вопрос был почему сам ключ отсутствует

Zart
27.02.2019
14:07:16
не любой, а конкретно dict
ты пишешь дикт, показываешь тайп

Александр
27.02.2019
14:07:25
Google
dmks
27.02.2019
14:07:48
Николай
27.02.2019
14:07:57
Вопрос был почему?)

Александр
27.02.2019
14:08:02
браво

dmks
27.02.2019
14:08:09
охуеть ответ
охуеть вопрос

Zart
27.02.2019
14:08:14
>>> type.__dict__['__dict__'] <attribute '__dict__' of 'type' objects> >>>

dmks
27.02.2019
14:08:16
браво
спасибо

Donaudampf
27.02.2019
14:08:30
я и без тебя прекрасно знаю, зачем используется __dict__
может тебя смущает, что dict.__dict__ и условный dict.__dict__['__dict__'] - не одно и то же?

Александр
27.02.2019
14:08:42
вот, я подтолкнул вас к расследованию

Donaudampf
27.02.2019
14:09:02
тогда я присоединяюсь к тем, кто не понимает, в чём собственно вопрос

Zart
27.02.2019
14:09:38
dict.__dict__ напоминаю что поиск аттрибутов происходит по наследованию если у дикта нет аттрибута дикт, то он будет искаться выше пока не упрётся в тайп

если ктото этого еще не знает, пиздует нахуй в доку

Donaudampf
27.02.2019
14:10:58
так ведь как раз аттрибут __dict__ у словаря есть

Николай
27.02.2019
14:11:08
dict.__dict__ напоминаю что поиск аттрибутов происходит по наследованию если у дикта нет аттрибута дикт, то он будет искаться выше пока не упрётся в тайп
это всё логично. Почему вот так, был вопрос. >>> type.__dict__['__dict__'] <attribute '__dict__' of 'type' objects> >>> dict.__dict__['__dict__'] Traceback (most recent call last): File "<stdin>", line 1, in <module> KeyError: '__dict__'

Zart
27.02.2019
14:11:35
потому что у дикта нет дикта, блядь

Milton
27.02.2019
14:12:23
потому что у дикта нет дикта, блядь
Видимо, вопрос был в том, по какой причине у дикта нет дикта ?‍♂

Николай
27.02.2019
14:12:41
Zart
27.02.2019
14:12:42
потому что это тип на си

Николай
27.02.2019
14:12:48
А. Вот и ответ

Google
Александр
27.02.2019
14:13:53
потому что он так имплементирован, да

Николай
27.02.2019
14:15:07
а как ему удалось затереть ключ родителя, если >>> type(dict) == type True Или это потому, что там есть особенность в Си исполнении дикта?

Александр
27.02.2019
14:15:24
Мне было интересно именно в сравнении с другими штуками, такими, как сам type. По идее же он тоже на си написан, разве нет?

Zart
27.02.2019
14:15:52
object и type полны ибаной магии изза того что они в топе иерархии

Александр
27.02.2019
14:16:05
это мы итак все понимаем, что там дохуя магии

но тем не менее

это же чат не джуниоров

Alex
27.02.2019
14:16:42
а вопрос то в чем?

Zart
27.02.2019
14:17:40
питон на 90% состоит из диктов

Александр
27.02.2019
14:18:00
а вопрос то в чем?
ну по сути, почему это истинно ('__dict__' in type.__dict__) and not ('__dict__' in dict.__dict__)

Petr
27.02.2019
14:18:41
Какой-то виртуальный онанизм

Александр
27.02.2019
14:18:50
естественно

а тут запрещен виртуальный онанизм?

Donaudampf
27.02.2019
14:20:08
а как ему удалось затереть ключ родителя, если >>> type(dict) == type True Или это потому, что там есть особенность в Си исполнении дикта?
а при чём тут ключ родителя? __dict__ создаётся из namespace метакласса https://docs.python.org/3/reference/datamodel.html#creating-the-class-object

Milton
27.02.2019
14:20:08
Какой-то виртуальный онанизм
Какое интересное определение программирования

Zart
27.02.2019
14:20:22
аттрибут __dict__ у нас это локальный неймспейс объекта он особенный, он ридонли

тайп.дикт это метод возвращающий проксю к этому дикту в слоте

Zart
27.02.2019
14:22:21
точно

Google
Maxim
27.02.2019
14:22:27
Хорошо

Zart
27.02.2019
14:22:32
я говорю про референс на дикт, а не его содержимое

т.е. нельзя foo.__dict__= {}

Boris
27.02.2019
14:23:01
это же чат не джуниоров
и это прискорбно. ведь они вершина эволюции.

Donaudampf
27.02.2019
14:24:08
Точно ридонли?
ну даже вон по ссылке выше When a new class is created by type.__new__, the object provided as the namespace parameter is copied to a new ordered mapping and the original object is discarded. The new copy is wrapped in a read-only proxy, which becomes the __dict__ attribute of the class object.

Zart
27.02.2019
14:24:18
к чему вообще это всё? ты собрался ебаться с метами?

Александр
27.02.2019
14:25:37
к чему вообще это всё? ты собрался ебаться с метами?
не, просто с коллегами разговор вдруг зашел сам собой

Boris
27.02.2019
14:26:31
кто-нибдь из коллег не пытался почитать документацию?

Zart
27.02.2019
14:27:22
у меня как-то крутилась мысль, что для вызова x() питон должен вызвать x.__call__() но ведь для вызова x.__call__, нужно вызвать x.__call__.__call__() и дальше черепахи

в итоге function.__call__ должен гдето прервать эту рекурсию и сделать ёбаный звонок другу

Boris
27.02.2019
14:29:02
да и он это делает скорее всего тайпкастом

Zart
27.02.2019
14:31:52
скорее он это делает на си

Milton
27.02.2019
20:10:23


Dark
27.02.2019
22:24:07
Скобочки забыл

????????A.
28.02.2019
01:25:04
Скорее всего от глупостью занимается

Заур
28.02.2019
22:31:46
Ребят, вопрос по раббитмкью: Со стороны паблишера (http сервис к примеру): целесообразно ли держать коннекшн открытым постоянно? HTTP сервис при каждом запросе: открывает канал, посылает данные в durable очередь и закрывает канал. Если брокер упадет во время сохранения данных на диск, то можно будет сохранить непереданные данные на стороне http сервиса, и уже при следующем бутстарте брокера, послать их первыми.

Ведь как я понимаю, каналы мультиплексируют коннекшн

Vladimir
28.02.2019
22:44:09
Как связаны сохранение данных на паблишере и открытое соединение?

Не, вообще - целесообразно, иначе зачем тебе раббит

Заур
28.02.2019
22:47:23
ну я перехвачу эксепшн, что соединение разорвано и сохраню непереданные данные у себя на паблишере

Страница 1380 из 1719