Чтобы добавлять сообщения и комментарии, .

@OCTAGRAM:
OCTAGRAM

putting.om.Environment.solveMetaclassConstraints
Нашёл ту функцию, которая подбирает нужный метакласс или конструирует новый, если ни один из запрошенных не подходит. На всё про всё 40 строк кода. Вот, насколько упростил Гвидо ван Россум свой Питон, отказавшись это сделать, и сломав метаклассы по сравнению с моделью из книги, которой он вдохновлялся.

The metaclasses book describes a mechanism whereby a suitable metaclass is automatically created, when necessary, through multiple inheritance from M1 and M2. In Python 2.2, I have chosen a simpler approach which raises an exception if the metaclass constraint is not satisfied; it is up to the programmer to provide a suitable metaclass through the __metaclass__ class variable. However, if one of the base metaclasses satisfies the constraint (including the explicitly given __metaclass__, if any), the first base metaclass found satisfying the constraint will be used as the metaclass.

@Shrek:
Shrek

Я начинаю ненавидеть пито и питонистов.

@provaton:
provaton

youtube.com

@pztrn:
pztrn

Попытка читать вывод от второтега первотега в третьетеге для четвертотега фейлится, потому что первотег буферизирует.

@OCTAGRAM:
OCTAGRAM

Unifying types and classes in Python 2.2
One of the coolest, but perhaps also one of the most unusual features of the new classes is the possibility to write "cooperative" classes. Cooperative classes are written with multiple inheritance in mind, using a pattern that I call a "cooperative super call". This is known in some other multiple-inheritance languages as "call-next-method", and is more powerful than the super call found in single-inheritance languages like Java or Smalltalk. C++ has neither form of super call, relying instead on an explicit mechanism similar to that used in classic Python. (The term "cooperative method" comes from "Putting Metaclasses to Work".)Таким образом, в этом отношении Питон продвинулся вперёд по сравнению с SOM. В реальном SOM множественное наследование было реализовано как в C++, топорно и без всяких порядков вызова методов. Соответственно, никакого call-next-method, а вместо этого указатель на унаследованную реализацию получался единоразово во время инициализации класса, либо потом можно было запросить его ещё раз, указав свой класс и индекс родительского класса. Эмиттеры все эти индексы заворачивали в соответствующие имена родительских классов. При этом во весь вставала проблема ромбовидных иерархий, когда к родительским классам вызовы могут либо не приезжать, либо приезжать несколько раз. Чтоб совсем плохо не было, конструкторы, деструкторы и операции присваивания в SOM пользовались битовыми полями (один класс — один бит), отсекающими повторные вызовы. Кооперативные методы, скорее всего, были только в книге. Metaclass Framework в составе SOM был закрытой библиотекой без IDL. Бетатестеры могли получить их по запросу. Так как всего этого нет, однозначно утверждать, что MRO не было, нельзя, но по крайней мере, в общем доступе кооперативных методов не было. До Питона они были только в книге.

The metaclasses book describes a mechanism whereby a suitable metaclass is automatically created, when necessary, through multiple inheritance from M1 and M2. In Python 2.2, I have chosen a simpler approach which raises an exception if the metaclass constraint is not satisfied; it is up to the programmer to provide a suitable metaclass through the __metaclass__ class variable. However, if one of the base metaclasses satisfies the constraint (including the explicitly given __metaclass__, if any), the first base metaclass found satisfying the constraint will be used as the metaclass.А вот тут, к сожалению, сделан шаг назад к семантике CLOS. В SOM 2.0 это было, и, конечно, это было в книге. Возможно, что (кроме длительной недоступности книги, пока я её не отсканил) это причина, почему метаклассы в Питоне не столь развиты. Ведь с таким геморроем ими резко становится не так удобно пользоваться.

@qnikst:
qnikst

как на этих ваших питонах сделать портабельный timeout?

@qnikst:
qnikst

А как в этом вашем питоне делается расширяемая функциональность, вот например, в этом нашем haskell делается класс типов, в котором перечислены функции, которые должны быть реализованы для типа (упрощенно), потом в разных модулях можно это реализовать причем уже для существующих и для новых типов и для тех которые не я писал.

Как мне что-то похожее в питонах замутить правильным образом?

Т.е. сейчас есть метод, в котором пачка if isinstance(val, ...):
мне нужно сделать это расширяемым, т.е. чтобы а. можно было не свалку в одном файле делать, а как-то расширяемо, б, чтобы юзер мог добавлять свои типы.

@gothicsquash:
gothicsquash

А кто в курсе, чем нынче модно пользоваться в качестве бота для инстаграмма? Чтобы простенькая аналитика там, туда-сюда, менеджер подписчиков, поиск пересечений по тегам, вот это всё? Хочется не платный сторонний веб-сервис со свистелками и перделками, а что-нибудь типа опенсорсного для разворачивания у себя, например на питоне.

@Dimez:
Dimez

Хорошие камрады хантят хорошего человека: hh.ru
Рекомменд плз.

@Lis:
Lis

rukeba.com

@Turbid:
Turbid

sqlalchemy-mptt.readthedocs.io

@ndtimofeev:
ndtimofeev

github.com — это такой optparse-generic для питона?

@k0st1x:
k0st1x

товарищи, это фейк или правда есть такие алгоритмы генерации картинок?
affinelayer.com

@Linda-chan:
Linda-chan

Extreme Python development.
youtube.com

@kitt:
kitt

питонисты и сочувствующие, вот тут курс о веб программировани на путоне(ползуясь случаем, передаю привет линдечан, жене, тёще и любовнице) openedu.ru
На русском. кстати там и другие курсы есть

@Linda-chan:
Linda-chan

Кажись всёже придётся учить Путон =_= Ну-с, к погружению!

@Strephil:
Strephil

Мне нужно напердолить совсем не большой сайт.
Python я немножко знаю, поэтому, наверное, лучше на нём, чем на php.
Только блин, сколько же тут разных фреймворков: wiki.python.org
И какой выборать?..

@qubit:
qubit

Error handling youtube.com

@Strephil:
Strephil

пытаюсь напердолить на python'е, но так и не умею в декораторы.

@Stepper:
Stepper

Чистая архитектура в Python: пошаговая демонстрация.
habrahabr.ru

@nagg:
nagg

Инстаграмм отключил GC в своём питончике engineering.instagram.com

@Balancer:
Balancer

Небольшое обновление теста объектного Фибоначчи: github.com

* Добавил JavaScript. Результат отличный — 2.64 сек. Почти как у Dart'а, лучше, чем у D. Похоже, сегодня это самый быстрый скриптовый язык.

Обновил:

* PHP до 7.1.0. Стал чуть-чуть быстрее, 50.6 против 58.0 у t.0.13

* HHVM практически не изменился. 24.5 против 25.0

* Python до 3.5.2 и 2.7.12. Удивительно, но он стал ещё медленнее — 170 и 153 сек. против прежних 145/129.

@Shchvova:
Shchvova

github.com (мой вольный пересказ)
Язык “Дежурный”. Если функция кидает исключение, она должна быть наказана. Если функция наружает клятву или обещания (что-то похожее на `assert`), она должна быть наказана. У Дежурного одно наказание. Удаление. Функция будет удалена из ваших исходников.

@nonsense:
nonsense

Пацаны, у одного меня бомбит от костылей при попытке создать приложение с material design под Kivy?

@qnikst:
qnikst

@vt, @max630 а с помощью nuget я же смогу поставить питон, питонолибы (они там есть в пакетах), py2exe, и радостно собрать portable версию. Если да, то кроме того, чтобы поставить сам nuget мне что-то нужно, куда вообще читать

@qnikst:
qnikst

точно никто не хочет взяться за juick.com ,я жмот, так что цена вопроса $15-20/hr?

@qnikst:
qnikst

Питонисты есть? У меня есть задача, есть hello world (setup.py) с кучей зависимостей на ipython, scipy, zeromq и прочей подобной радостью. Нужно собирать из этого portable bundle который выглядит как .exe + можно .dll рядом класть. Готов это дело оплатить.
С меня setup.py (со списком зависимостей), на выходе хочется иметь или:
А. Скрипты которые соберут все в msys2 окружении (у меня все собирается, но упаковать результат я не могу, т.к. czFixer падает на реальной кодовой базе). Это идеальный вариант.
Б. Инструкция как собрать окружение для разработки и бат скрипты, которыми я могу всё собрать, это дело скорее всего автоматом на apveyor или инстансе azure работать будет. Идеально если оно не будет каждый раз пересобирать whl файлики.
Идеально, если решение будет делать то, что надо в случае изменения зависимостей.

Если вам не хочется это делать, но вы знаете верный путь, то любые советы приветствуются.

@qnikst:
qnikst

а как в этих ваших питонах принято проверять под какой осью работает программа?

@Strephil:
Strephil

Совершенно не понимаю, как работает pandas, всё такое нелогичное. Каждый раз, чтобы сделать какую-то элементарную вещь, нужно долго разбираться.

Вот, например, метод value_counts. Что он возвращает? что с этим потом делать? если бы value_counts возвращал, например, просто список пар, это было намного, намного проще и понятнее.

for x in X.value_counts(): — тут x это только количество.

@Linda-chan:
Linda-chan

Путон с нуля до промышленного уровня за три дня: миф или реальность.

@vt:
vt

Каминг-аут питонодебила, теперь-то есть куда тыкать его собратьев! learnpythonthehardway.org

@ComradeDOS:
ComradeDOS

Become a pdb power-user: medium.com

@dr-Chaos:
dr-Chaos

Я в тестовом фреймворке на питоне разбираюсь 2 часа и уже, сука, его ненавижу

@rkit:
rkit

Обосрите CherryPy

@ComradeDOS:
ComradeDOS

I don't understand Python's Asyncio: lucumr.pocoo.org

@ComradeDOS:
ComradeDOS

Bullet Proofing Django Models: medium.com

@ComradeDOS:
ComradeDOS

Solving Performance Problems in the Django ORM: medium.com

@ComradeDOS:
ComradeDOS

Static types in Python, oh my(py)! — blog.zulip.org

@Hawat:
Hawat

Хочу книжку: "Как забыть про except и начать писать код", любая ошибка — скрипт вылетает, пришлось понапихать except'ов на всех этапах подключения и выполнения команд.

@tuenut:
tuenut

Жуйк, я тут взял pysmb и python3.4 и наваял скрипт, который тянет определенные данные с windows-шары. Все работает, код по сути вообще дефолтный:
from smb import smb.SMBConnection
conn = SMBConnection(user, password, hostname, servername, use_ntlm_v2=True, is_direct_tcp=True)
conn.connect(serverip, 445)

И вот в 3.4 все отлично работает. В 3.2 ругается, там штук 6 или 8 функций вызывают ошибку, в конце ругается на hmac(), пишет что 'str' object has no attribute 'new'. Там автор pysmb делает хэш пароля или что-то вроде того и вот в 3.2 hmac ожидает то ли bytearray, то ли еще чего.

Сталкивался кто с чем-то подобным?

//Извините, нет сейчас логов — все виртуалки на ноуте в рюкзаке, а я в транспорте. Но вопрос меня прямо изводит-)