Форум сайта python.su
Офлайн
О_о
чудеса питонячей эквилибристики.
Андрей, из ваших статей я узнаю о питоне больше чем откуда бы ни было :)
Офлайн
:)
Это - не чудеса. Это все еще стандартные, хоть и не очень широко известные методы.
Я еще и не начинал писать о серой магии Питона. Да и, честно говоря, не очень хочу смущать умы работающими, полезными, но сомнительно выглядящими приемчиками.
Офлайн
Андрей СветловМагия - это по части Руби, не надо ее в любимом Питоне =(
Я еще и не начинал писать о серой магии Питона.
Андрей СветловА вот посмотреть хотелось бы. Правда многие, когда о таких неочевидных вещах пишут обычно не упоминают, где это может использоваться или где это они сами использовали, а очень хотелось бы.
Да и, честно говоря, не очень хочу смущать умы работающими, полезными, но сомнительно выглядящими приемчиками.
Офлайн
Нуу… Великолепную статью Сереги Щетинина по питоновскому ассемблеру, наверное, все видели: http://www.developers.org.ua/lenta/articles/python-kung-fu-p1-runtime-compilation/
Извращениями славится PJE. Исходники на http://svn.eby-sarna.com Без них эффект не тот.
Addons: http://pypi.python.org/pypi/AddOns - великолепная штука, судя по описанию. И с применением вопросов нет - много куда так и просится.
Смотрим, как сделана. Оооо. Как известно, класс и его экземпляр хранят свои атрибуты в __dict__. Это - обычный питоновский dict. Кто сказал, что его ключи обязательно должны быть строками?
Contextual: http://pypi.python.org/pypi/Contextual Набивать класс внутри first level function - очень интересно. Попробуйте с первого (а хоть бы и с десятого) раза догадаться, что именно делает _let_there_be_state!
simplegeneric: http://pypi.python.org/pypi/simplegeneric Здесь просто злоупотребление вложенными функциями. В принципе, не фатально.
Crosscuts: http://svn.eby-sarna.com/Crosscuts/README.txt?rev=2602&view=markup Порвем все границы. Почему при поиске переменной нужно ограничиваться locals/globals? Пройдем по стеку и заглянем в каждый фрейм - вдруг там отыщется наша заветная штучка? Кто первый нашелся - того и тапки.
Код у всех четырех библиотек (может, за исключением Contextual) очень короткий. Но это не значит, что он прост для понимания!
Офлайн
Андрей СветловФееричненько… Но я совершенно не представляю, куда бы мне эти новые знания применить. :-)
http://asvetlov.blogspot.com/2011/02/formatting.html
Андрей Светлов
Но это не значит, что он прост для понимания!
Tim PetersОт сюда и пляшем.
If the implementation is hard to explain, it's a bad idea.
If the implementation is easy to explain, it may be a good idea.
Офлайн
Эээ нет. Примеры от уважаемого Phillip J Eby ломают мозг.
Я же всего лишь попробовал расширить Advanced String Formatting тем путем, который изначально был в него заложен.
И, как мне кажется, реализация расширения очень простая, и изложить ее в понятном виде - легко.
Куда применить? Да вроде тоже показал.
Подчеркиваю: это - стандартный и официальный способ расширения. Когда массово перейдут на тройку - начнут использовать его сплошь и рядом.
Ожидаю, что позволят иметь в качестве конвертера любую строку, подходящую под определения идентификатора.
Синтаксису разбора параметров это не противоречит - идем до ‘:’ или ‘}’.
И где же реализация, которую сложно объяснить?
Офлайн
Да нет же, я не к этому. В твоих примерах как раз-таки всё ясно и понятно. Это действительно интересный момент, который может много где пригодиться… Просто задумался о том, куда бы это впихнуть сейчас и не смог найти нормального применения. Может, будет более подходящая задача и тогда я буду знать, что делать.
Офлайн
В твоей программе строчек нет???? :O
Офлайн
тоже подумал - “где применить?”, а буквально вчера сделал веб-мониторинг (1 файлик в 70строк) в котором рисовал таблицы с кучей колонок, веб-шаблонизатор для этой задачи - жирно, а шаблоно-строки из статьи бы подошли…
Отредактировано (Фев. 23, 2011 12:13:17)
Офлайн