Python » proft.com.ua [Блог о Web, IT, life]

Python: Lambda функции

416 Python Комментариев нет

Первоисточник: Python: Lambda Functions

Мой вольный перевод статьи о работе с lambda функциями в Python и обработке списков функциями filter(), map() и reduce().

Python разрешает создание анонимных функций (например, функции, которые не связаны с именем) во время выполнения, используя конструкцию “lambda”. Это не тоже самое что lambda в функциональных языках программирования, но это очень сильная концепция, что хорошо интегрирована в Питон и очень часто используется в связке с обычными функциями типа filter(), map() и reduce().

Далее »

Начало всех начал

68 Python Комментариев нет

Начал вплотную знакомиться с языком программирования Python. По счету это уже седьмой язык программирования который я знаю (нечистая разных скриптовых мелочей), цифра символическая и на этом можно вполне остановиться :) Пока в питоне мне все нравиться: продуманный синтаксис, мультипарадигменость, кроссплатформеность и т.д. - есть в нем много разных вкусностей. Хотя два года назад Java мне вполне всем нравилась (даже на J2ME пару несложных вещей написал), но со временем потерял интерес к ней …

Присмотреться к питону решил по многим причинам: для веб-разработки (Django), на замену bash‘у (считаю синтаксис питона более наглядным для написания системных скриптов, чем в баше) + на нем можно писать и GUI’шные приложения (wxWidgets, PyQT), есть интерпретатор на Symbian, даже пару 3D игр видел — с вполне пристойной графикой.

В качестве букваря выбрал книжку: Россум Г. ,  Дрейк Ф.Л.Дж., Откидач Д.С. Язык программирования Python, 2001 — 454 с. (электронный вариант можно найти в инете),  написана одним из главных разработчиков Python - Г. Россум.  В свое время когда изучал С тоже начинал с букваря -  Б.В. Керниган, Д.М. Ричи.  Язык С. Книга по питону написана как по мне, для людей со среднем уровне знаний, имеющих опыт программирования - некоторые выкладки требуют представлений о системном программировании и языка C. Книга оформлена больше в виде справочника, чем начального пособия для изучения. Хотя вполне можно читать пропуская некоторые главы — а потом возвращаться к пропущенным главам если что-то будет не понятно.

Набирать простые примеры можно и в итерактивном режиме — интерпретаторе питона, а вот для чего-то большего понадобиться IDE: что-бы синтаксис подсвечивало и дополняло, и отлаживать удобно позволяло. Для этого есть две IDE которые я знаю:

  1. Eclipse + PyDev
  2. The Eric Python IDE

Со второй близко не знакомился, только полазил по сайту и посмотрел на скриншоты.

Решил остановиться на IDE Eclipse, т.к. уже знаком с ней. Дополнение PyDev позволяет в Eclipse дополнять питоновский код, подсвечивать и анализировать синтаксис, производить рефакторинг, отладку и т.д.

Для установки нам понадобиться: Java Runtime Environment (JRE), сам интерпретатор языка Python и собственно Eclipse. Дальше для установки PyDev воспользуемся менеджером обновлений в  Eclipse:

  1. Идем в Help → Software Updates, нажимаем Find and Install
  2. В открывшемся окне выбираем Search for new features to install, кликаем Next
  3. Кликаем New Remote Site, в открывшемся окне вводим PyDev Extensions в текстовом поле Name и http://www.pydev.com.br/updates в URL
  4. Кликаем ОК и следуем дальнейшим инструкциям

Дальше настраиваем интерпретатор Python:

  1. В  Eclipse идем в Window → Preferences → PyDev → Interpretor – Python
  2. Возле Python interpreters нажимаем New …
  3. В открывшемся окне пишем путь к интерпретатору /usr/bin/python
  4. После этого PyDev произведет дополнительный детект настроек

Для того что бы не играться с выкачкай  PyDev можно воспользоваться пакетом EasyEclipse for Python, где  PyDev уже интегрирован в Eclipse. Для Linux пакет занимает 113 Мб, для Windows — 101 Мб.

Для того что-бы выводился русский текст, а не абра-кодабра, в начале файла со скриптом пишем:


#!/usr/bin/python
#-*- coding: cp1251 -*-

в строке coding заменяем  cp1251 на нужную кодировку.

Дополнительные полезные ссылки:

 
Powered by WordPress