SlideShare a Scribd company logo
1 of 9
Download to read offline
Mini Zen of Python




    @yurevich, oDesk corp.
        ekb.py, 2011
mini Zen
• Beautiful is better than ugly.
• Explicit is better than implicit.
• Simple is better than complex.
• Complex is better than complicated.
• Flat is better than nested.
• Sparse is better than dense.
• Readability counts.
Pythonic дизайн


• Минимум конструкций в языке
 • и они простые
• Стандартные библиотеки
• Пакеты
Читабельность


• Читабельность кода
• Встроенные средства документирования
 • и внешние тоже
• Reusability
Баланс

• Простой, чтобы быстро начать
• Не сильно ограничивает
• Высокого уровня
• Можно и поглубже
 • вплоть до Python C API
Интероперабельность

• С ОС
• С библиотеками
 • масса python-биндингов
 • clibs
• С протоколами и сервисами
 • хорошие батарейки
Не всё сладко

• Python
 • Форк 2.x vs 3.x
 • Иногда сахара слишком много
• Стандартная библиотека
 • развитие (при)останавливается
 • неравномерное качество и стиль
Еще о дзене?



http://www.scribd.com/doc/48714240/
An-Introduction-to-the-Zen-of-Python
Credits
•   http://www.flickr.com/photos/junglebjorn/4389682921/

•   http://www.flickr.com/photos/spodzone/6375975815/

•   http://www.flickr.com/photos/ghirson/1997652220/

•   http://www.flickr.com/photos/homohominilupus/3029137709/

•   http://www.flickr.com/photos/classblog/5136926303/

•   http://www.flickr.com/photos/wcm777/1346079127/

•   http://www.flickr.com/photos/8011986@N02/2681415971/

More Related Content

Similar to ekb.py: Mini Zen of Python

Python test-automation
Python test-automationPython test-automation
Python test-automationCOMAQA.BY
 
Анализ доменной зоны TJ
Анализ доменной зоны TJАнализ доменной зоны TJ
Анализ доменной зоны TJIvan Golodov
 
Алексей Лустин. Непрерывная проверка качества кода.
Алексей Лустин. Непрерывная проверка качества кода.Алексей Лустин. Непрерывная проверка качества кода.
Алексей Лустин. Непрерывная проверка качества кода.ScrumTrek
 
Как мы делаем Banki.ru
Как мы делаем Banki.ruКак мы делаем Banki.ru
Как мы делаем Banki.ruRoman Ivliev
 
Куда катится PHP, а также про Yii и другие фреймворки / Александр Макаров (St...
Куда катится PHP, а также про Yii и другие фреймворки / Александр Макаров (St...Куда катится PHP, а также про Yii и другие фреймворки / Александр Макаров (St...
Куда катится PHP, а также про Yii и другие фреймворки / Александр Макаров (St...Ontico
 
Применение блокчейна в RTB. Можно ли масштабировать децентрализованную базу д...
Применение блокчейна в RTB. Можно ли масштабировать децентрализованную базу д...Применение блокчейна в RTB. Можно ли масштабировать децентрализованную базу д...
Применение блокчейна в RTB. Можно ли масштабировать децентрализованную базу д...Ontico
 
CodeFest 2011. Макаров А. — Как разрабатывается Yii
CodeFest 2011. Макаров А. — Как разрабатывается YiiCodeFest 2011. Макаров А. — Как разрабатывается Yii
CodeFest 2011. Макаров А. — Как разрабатывается YiiCodeFest
 
CodeFest 2012. Аксёнов А. — Как мы разрабатываем Sphinx
CodeFest 2012. Аксёнов А. — Как мы разрабатываем SphinxCodeFest 2012. Аксёнов А. — Как мы разрабатываем Sphinx
CodeFest 2012. Аксёнов А. — Как мы разрабатываем SphinxCodeFest
 
Devconf 2011 - PHP - Как разрабатывается фреймворк Yii
Devconf 2011 - PHP - Как разрабатывается фреймворк YiiDevconf 2011 - PHP - Как разрабатывается фреймворк Yii
Devconf 2011 - PHP - Как разрабатывается фреймворк YiiAlexander Makarov
 
Введение в Python и Django
Введение в Python и DjangoВведение в Python и Django
Введение в Python и DjangoTaras Lyapun
 
UWDC'12, Александр Макаров, О командной разработке и фреймворках
UWDC'12, Александр Макаров, О командной разработке и фреймворкахUWDC'12, Александр Макаров, О командной разработке и фреймворках
UWDC'12, Александр Макаров, О командной разработке и фреймворкахAlexander Makarov
 
Что и почему писать на Erlang
Что и почему писать на ErlangЧто и почему писать на Erlang
Что и почему писать на ErlangMax Lapshin
 
Mykyta Krychko "When simple TRUE / FALSE is not enough. Analyzing test result...
Mykyta Krychko "When simple TRUE / FALSE is not enough. Analyzing test result...Mykyta Krychko "When simple TRUE / FALSE is not enough. Analyzing test result...
Mykyta Krychko "When simple TRUE / FALSE is not enough. Analyzing test result...Fwdays
 
Open Source − это не больно (Сергей Нартымов)
Open Source − это не больно (Сергей Нартымов)Open Source − это не больно (Сергей Нартымов)
Open Source − это не больно (Сергей Нартымов)Olga Lavrentieva
 
Лучшие практики на практике
Лучшие практики на практикеЛучшие практики на практике
Лучшие практики на практикеDenis Tuchin
 
Zabbix: Прошлое, настоящее и будущее (Zabbix: Past, present and the future)
Zabbix: Прошлое, настоящее и будущее (Zabbix: Past, present and the future)Zabbix: Прошлое, настоящее и будущее (Zabbix: Past, present and the future)
Zabbix: Прошлое, настоящее и будущее (Zabbix: Past, present and the future)Zabbix
 
How to port JavaScript library to Android and iOS
How to port JavaScript library to Android and iOSHow to port JavaScript library to Android and iOS
How to port JavaScript library to Android and iOSAlexey Zinoviev
 

Similar to ekb.py: Mini Zen of Python (20)

Python test-automation
Python test-automationPython test-automation
Python test-automation
 
Анализ доменной зоны TJ
Анализ доменной зоны TJАнализ доменной зоны TJ
Анализ доменной зоны TJ
 
Ryazan
RyazanRyazan
Ryazan
 
Алексей Лустин. Непрерывная проверка качества кода.
Алексей Лустин. Непрерывная проверка качества кода.Алексей Лустин. Непрерывная проверка качества кода.
Алексей Лустин. Непрерывная проверка качества кода.
 
Как мы делаем Banki.ru
Как мы делаем Banki.ruКак мы делаем Banki.ru
Как мы делаем Banki.ru
 
Куда катится PHP, а также про Yii и другие фреймворки / Александр Макаров (St...
Куда катится PHP, а также про Yii и другие фреймворки / Александр Макаров (St...Куда катится PHP, а также про Yii и другие фреймворки / Александр Макаров (St...
Куда катится PHP, а также про Yii и другие фреймворки / Александр Макаров (St...
 
Применение блокчейна в RTB. Можно ли масштабировать децентрализованную базу д...
Применение блокчейна в RTB. Можно ли масштабировать децентрализованную базу д...Применение блокчейна в RTB. Можно ли масштабировать децентрализованную базу д...
Применение блокчейна в RTB. Можно ли масштабировать децентрализованную базу д...
 
CodeFest 2011. Макаров А. — Как разрабатывается Yii
CodeFest 2011. Макаров А. — Как разрабатывается YiiCodeFest 2011. Макаров А. — Как разрабатывается Yii
CodeFest 2011. Макаров А. — Как разрабатывается Yii
 
CodeFest 2012. Аксёнов А. — Как мы разрабатываем Sphinx
CodeFest 2012. Аксёнов А. — Как мы разрабатываем SphinxCodeFest 2012. Аксёнов А. — Как мы разрабатываем Sphinx
CodeFest 2012. Аксёнов А. — Как мы разрабатываем Sphinx
 
Как разраба
Как разрабаКак разраба
Как разраба
 
Devconf 2011 - PHP - Как разрабатывается фреймворк Yii
Devconf 2011 - PHP - Как разрабатывается фреймворк YiiDevconf 2011 - PHP - Как разрабатывается фреймворк Yii
Devconf 2011 - PHP - Как разрабатывается фреймворк Yii
 
Введение в Python и Django
Введение в Python и DjangoВведение в Python и Django
Введение в Python и Django
 
UWDC'12, Александр Макаров, О командной разработке и фреймворках
UWDC'12, Александр Макаров, О командной разработке и фреймворкахUWDC'12, Александр Макаров, О командной разработке и фреймворках
UWDC'12, Александр Макаров, О командной разработке и фреймворках
 
Что и почему писать на Erlang
Что и почему писать на ErlangЧто и почему писать на Erlang
Что и почему писать на Erlang
 
Mykyta Krychko "When simple TRUE / FALSE is not enough. Analyzing test result...
Mykyta Krychko "When simple TRUE / FALSE is not enough. Analyzing test result...Mykyta Krychko "When simple TRUE / FALSE is not enough. Analyzing test result...
Mykyta Krychko "When simple TRUE / FALSE is not enough. Analyzing test result...
 
Open Source − это не больно (Сергей Нартымов)
Open Source − это не больно (Сергей Нартымов)Open Source − это не больно (Сергей Нартымов)
Open Source − это не больно (Сергей Нартымов)
 
Sivko
SivkoSivko
Sivko
 
Лучшие практики на практике
Лучшие практики на практикеЛучшие практики на практике
Лучшие практики на практике
 
Zabbix: Прошлое, настоящее и будущее (Zabbix: Past, present and the future)
Zabbix: Прошлое, настоящее и будущее (Zabbix: Past, present and the future)Zabbix: Прошлое, настоящее и будущее (Zabbix: Past, present and the future)
Zabbix: Прошлое, настоящее и будущее (Zabbix: Past, present and the future)
 
How to port JavaScript library to Android and iOS
How to port JavaScript library to Android and iOSHow to port JavaScript library to Android and iOS
How to port JavaScript library to Android and iOS
 

More from Yury Yurevich

PyCon UA 2011: Test Infected
PyCon UA 2011: Test InfectedPyCon UA 2011: Test Infected
PyCon UA 2011: Test InfectedYury Yurevich
 
Александр Гладыш — Visual editor for business logic in Lua and JS
Александр Гладыш — Visual editor for business logic in Lua and JSАлександр Гладыш — Visual editor for business logic in Lua and JS
Александр Гладыш — Visual editor for business logic in Lua and JSYury Yurevich
 
Лев Валкин — Кое-что про Erlang
Лев Валкин — Кое-что про ErlangЛев Валкин — Кое-что про Erlang
Лев Валкин — Кое-что про ErlangYury Yurevich
 
Ильшад Хабибуллин — BlueBream
Ильшад Хабибуллин — BlueBreamИльшад Хабибуллин — BlueBream
Ильшад Хабибуллин — BlueBreamYury Yurevich
 
Александр Гладыш — Lua
Александр Гладыш — LuaАлександр Гладыш — Lua
Александр Гладыш — LuaYury Yurevich
 
About (unit) testing
About (unit) testingAbout (unit) testing
About (unit) testingYury Yurevich
 

More from Yury Yurevich (8)

PyCon UA 2011: Test Infected
PyCon UA 2011: Test InfectedPyCon UA 2011: Test Infected
PyCon UA 2011: Test Infected
 
Александр Гладыш — Visual editor for business logic in Lua and JS
Александр Гладыш — Visual editor for business logic in Lua and JSАлександр Гладыш — Visual editor for business logic in Lua and JS
Александр Гладыш — Visual editor for business logic in Lua and JS
 
Лев Валкин — Кое-что про Erlang
Лев Валкин — Кое-что про ErlangЛев Валкин — Кое-что про Erlang
Лев Валкин — Кое-что про Erlang
 
Ильшад Хабибуллин — BlueBream
Ильшад Хабибуллин — BlueBreamИльшад Хабибуллин — BlueBream
Ильшад Хабибуллин — BlueBream
 
Александр Гладыш — Lua
Александр Гладыш — LuaАлександр Гладыш — Lua
Александр Гладыш — Lua
 
Decorators' recipes
Decorators' recipesDecorators' recipes
Decorators' recipes
 
About (unit) testing
About (unit) testingAbout (unit) testing
About (unit) testing
 
SQLAlchemy Seminar
SQLAlchemy SeminarSQLAlchemy Seminar
SQLAlchemy Seminar
 

ekb.py: Mini Zen of Python

  • 1. Mini Zen of Python @yurevich, oDesk corp. ekb.py, 2011
  • 2. mini Zen • Beautiful is better than ugly. • Explicit is better than implicit. • Simple is better than complex. • Complex is better than complicated. • Flat is better than nested. • Sparse is better than dense. • Readability counts.
  • 3. Pythonic дизайн • Минимум конструкций в языке • и они простые • Стандартные библиотеки • Пакеты
  • 4. Читабельность • Читабельность кода • Встроенные средства документирования • и внешние тоже • Reusability
  • 5. Баланс • Простой, чтобы быстро начать • Не сильно ограничивает • Высокого уровня • Можно и поглубже • вплоть до Python C API
  • 6. Интероперабельность • С ОС • С библиотеками • масса python-биндингов • clibs • С протоколами и сервисами • хорошие батарейки
  • 7. Не всё сладко • Python • Форк 2.x vs 3.x • Иногда сахара слишком много • Стандартная библиотека • развитие (при)останавливается • неравномерное качество и стиль
  • 9. Credits • http://www.flickr.com/photos/junglebjorn/4389682921/ • http://www.flickr.com/photos/spodzone/6375975815/ • http://www.flickr.com/photos/ghirson/1997652220/ • http://www.flickr.com/photos/homohominilupus/3029137709/ • http://www.flickr.com/photos/classblog/5136926303/ • http://www.flickr.com/photos/wcm777/1346079127/ • http://www.flickr.com/photos/8011986@N02/2681415971/