Програмиране с Python: Въведение
Author: Стефан Кънев и Николай Бачийски

# Въведение

### „ Програмиране с Python“, ФМИ

### Стефан Кънев & Николай Бачийски

#### 25.02.2008г.

# За курса – цели

- да се запонаем с езика за програмиране Python
  - синтаксис
  - култура
  - често използвани похвати
- да погледнем на програмирането по друг начин
  - какво можем да правим с един динамичен език
  - функционалният стил в живия живот
  - итератори/генератори
  - unit тестове

# За курса – организационни

- сбирки – понеделник и сряда от 19 часа в зала 200
- присъствието не е задължително – всички материали и известия ще ги има и на интернет страницата на курса: http://fmi.py-bg.net/
- събиране на точки
  - десетина малки задачи през семестъра — 50 точки
  - два теста през семестъра по 25 точки — 50 точки
  - проект към края на семестъра — 50 точки
- скала за оценките
  - 120–150 — Отличен 6
  - 100–119 — Много добър 5
  - 80–99 — Добър 4
  - 60–79 — Среден 3
  - 60–79 — Среден 3
  - 0–59 — Слаб 2

# Python – що за език е

- обектно-ориентиран (всичко е обект, почти)
- процедурният стил също е на почит
- интерпретируем, компилира се и до байт-код
- динамичен — по време на изпълнение можем да завържем програмата си на възел:
  `object.method = anotherobject.method`
- динамично типизиран
- силно типизиран
- свободен - интерпретаторът и стандартната библиотека са свободен софтуер
- модулен – йерархични модули, области от имена

# Защо точно Python

- има много лесен, чист и четим синтаксис
- културата на езика предразполага програмиста към много полезни практики като:
  - документация още в изходния код
  - използване на инстроспекция за по-малко код
  - итератори/генератори
  - Test Driven Development
  - функционален стил в нефунцкционалния Python
- има си интерактивен интерпретатор, в който да пишем код и веднага да виждаме резултата
- огромна стандартна библиотека
- за Python лесно се пишат разширения на C/C++
  - скоростта понякога е критичен фактор
  - ако вече имате любима библиотека, можете да я ползвате и в Python
- напълно безплатен за всякаква употреба

# Къде и за какво се използва Python

Накратко — за всичко, но все пак:

- web — сайтът на ФМИ ползва Zope, масивен Python web framework, за подобни цели се ползва из Google и YouTube
- графични приложения — Tkinter върви заедно с Python, wxWidgets, GTK, QT, MFC, Python for Delphi
- обработка на текст — регулярни изрази, XML библиотеки
- бази от данни — общ интерфейс за всички СУРБД, библиотеки за MySQL, Oracle, MS SQL Server, PostgreSQL и много други, обектни бази от данни (ZODB)
- научни цели и изчисления — много модули за работа с числа, матрици и други подобни. Език #1 в NASA
- игри, 3D графика — модулът PyGame, Sid Meier's Civilization IV

# Инсталация и среди за разработка

- Windows ™ — http://python.org/download/ — MSI инсталатор
- Macinstosh OS X — http://python.org/download/ — отново инсталатор
- UNIX — ще се справите сами :)
- Инсталирайте най-новата версия (сега тя е 2.5.2)
- среди за разработка
  - IDLE — инсталира се заедно със самия Python, има си и Python shell
  - любимият ви текстов редактор, който за предпочитане оцветява кода
  - много други платени и безплатни алтернативи