Уведомления

Группа в Telegram: @pythonsu

#1 Фев. 22, 2011 08:36:23

Андрей Светлов
От:
Зарегистрирован: 2007-05-15
Сообщения: 3137
Репутация: +  14  -
Профиль   Адрес электронной почты  

Особенности форматирования строк

Офлайн

#2 Фев. 22, 2011 11:38:13

Zubchick
От:
Зарегистрирован: 2009-07-08
Сообщения: 613
Репутация: +  0  -
Профиль   Отправить e-mail  

Особенности форматирования строк

О_о
чудеса питонячей эквилибристики.

Андрей, из ваших статей я узнаю о питоне больше чем откуда бы ни было :)



Офлайн

#3 Фев. 22, 2011 11:47:34

Андрей Светлов
От:
Зарегистрирован: 2007-05-15
Сообщения: 3137
Репутация: +  14  -
Профиль   Адрес электронной почты  

Особенности форматирования строк

:)
Это - не чудеса. Это все еще стандартные, хоть и не очень широко известные методы.
Я еще и не начинал писать о серой магии Питона. Да и, честно говоря, не очень хочу смущать умы работающими, полезными, но сомнительно выглядящими приемчиками.



Офлайн

#4 Фев. 22, 2011 11:54:11

regall
От: Киев
Зарегистрирован: 2008-07-17
Сообщения: 1583
Репутация: +  3  -
Профиль   Отправить e-mail  

Особенности форматирования строк

Андрей Светлов
Я еще и не начинал писать о серой магии Питона.
Магия - это по части Руби, не надо ее в любимом Питоне =(
Андрей Светлов
Да и, честно говоря, не очень хочу смущать умы работающими, полезными, но сомнительно выглядящими приемчиками.
А вот посмотреть хотелось бы. Правда многие, когда о таких неочевидных вещах пишут обычно не упоминают, где это может использоваться или где это они сами использовали, а очень хотелось бы.



Офлайн

#5 Фев. 22, 2011 12:27:08

Андрей Светлов
От:
Зарегистрирован: 2007-05-15
Сообщения: 3137
Репутация: +  14  -
Профиль   Адрес электронной почты  

Особенности форматирования строк

Нуу… Великолепную статью Сереги Щетинина по питоновскому ассемблеру, наверное, все видели: 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) очень короткий. Но это не значит, что он прост для понимания!



Офлайн

#6 Фев. 22, 2011 17:39:24

ZZZ
От: Москва
Зарегистрирован: 2008-04-03
Сообщения: 2161
Репутация: +  26  -
Профиль   Адрес электронной почты  

Особенности форматирования строк

Андрей Светлов
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.
От сюда и пляшем.



Офлайн

#7 Фев. 22, 2011 18:06:50

Андрей Светлов
От:
Зарегистрирован: 2007-05-15
Сообщения: 3137
Репутация: +  14  -
Профиль   Адрес электронной почты  

Особенности форматирования строк

Эээ нет. Примеры от уважаемого Phillip J Eby ломают мозг.
Я же всего лишь попробовал расширить Advanced String Formatting тем путем, который изначально был в него заложен.
И, как мне кажется, реализация расширения очень простая, и изложить ее в понятном виде - легко.
Куда применить? Да вроде тоже показал.
Подчеркиваю: это - стандартный и официальный способ расширения. Когда массово перейдут на тройку - начнут использовать его сплошь и рядом.
Ожидаю, что позволят иметь в качестве конвертера любую строку, подходящую под определения идентификатора.
Синтаксису разбора параметров это не противоречит - идем до ‘:’ или ‘}’.

И где же реализация, которую сложно объяснить?



Офлайн

#8 Фев. 23, 2011 08:23:52

ZZZ
От: Москва
Зарегистрирован: 2008-04-03
Сообщения: 2161
Репутация: +  26  -
Профиль   Адрес электронной почты  

Особенности форматирования строк

Да нет же, я не к этому. В твоих примерах как раз-таки всё ясно и понятно. Это действительно интересный момент, который может много где пригодиться… Просто задумался о том, куда бы это впихнуть сейчас и не смог найти нормального применения. Может, будет более подходящая задача и тогда я буду знать, что делать.



Офлайн

#9 Фев. 23, 2011 11:38:52

Андрей Светлов
От:
Зарегистрирован: 2007-05-15
Сообщения: 3137
Репутация: +  14  -
Профиль   Адрес электронной почты  

Особенности форматирования строк

В твоей программе строчек нет???? :O



Офлайн

#10 Фев. 23, 2011 12:12:10

o7412369815963
От:
Зарегистрирован: 2009-06-17
Сообщения: 1986
Репутация: +  32  -
Профиль   Отправить e-mail  

Особенности форматирования строк

тоже подумал - “где применить?”, а буквально вчера сделал веб-мониторинг (1 файлик в 70строк) в котором рисовал таблицы с кучей колонок, веб-шаблонизатор для этой задачи - жирно, а шаблоно-строки из статьи бы подошли…

Отредактировано (Фев. 23, 2011 12:13:17)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version