Мова програмування Python
Лекція # 1: Введення в програмування на мові Python.
У цій лекції йтиметься про синтаксис мови Python для основних алгоритмічних конструкцій, литералов, виразів. Буде приведено опис вбудованих типів даних, а також зроблена спроба розглянути деякі питання загальноприйнятого в Python стилю програмування.
Що таке Python?
Про Python (краще вимовляти «пітон», хоча дехто каже «пайтон») - предмет цього дослідження, найкраще каже творець цієї мови програмування, голландець Гвідо ван Россум:
«Python - інтерпретована, об'єктно-орієнтована високорівнева мова програмування з динамічною семантикою. Вбудовані високорівневі структури даних в поєднанні з динамічними типізацією і зв'язуванням роблять мову привабливим для швидкої розробки додатків (RAD, Rapid Application Development). Крім того, його можна використовувати в якості сценарного мови для зв'язку програмних компонентів. Синтаксис Python простий у вивченні, в ньому надається особливе значення читання коду, а це скорочує витрати на супровід програмних продуктів. Python підтримує модулі та пакети, заохочуючи модульність і повторне використання коду. Інтерпретатор Python і велика стандартна бібліотека доступні безкоштовно у вигляді вихідних і виконуваних кодів для всіх основних платформ і можуть вільно поширюватися. »
У процесі вивчення буде розкритий сенс цього визначення, а зараз досить знати, що Python - це універсальна мова програмування. Він має свої переваги і недоліки, а також сфери застосування. В поставку Python входить велика стандартна бібліотека для вирішення широкого кола завдань. В Інтернеті доступні якісні бібліотеки для Python по різних предметних областях: засоби обробки текстів і технології Інтернет, обробка зображень, інструменти для створення додатків, механізми доступу до баз даних, пакети для наукових обчислень, бібліотеки побудови графічного інтерфейсу і т.п. Крім того, Python має досить прості засоби для інтеграції з мовами C, C ++ (і Java) як шляхом вбудовування (embedding) інтерпретатора в програми на цих мовах, так і навпаки, за допомогою використання бібліотек, написаних на цих мовах, в Python-програмах. Мова Python підтримує кілька парадигм програмування: імперативне (процедурний, структурний, модульний підходи), об'єктно-орієнтоване і функціональне програмування.
Можна вважати, що Python - це ціла технологія для створення програмних продуктів (і їх прототипів). Вона доступна майже на всіх сучасних платформах (як 32-бітових, так і на 64-бітних) з компілятором C і на платформі Java.
Може здатися, що, в програмної індустрії немає місця для чогось іншого крім C / C ++, Java, Visual Basic, C #. Однак це не так. Можливо, завдяки цьому курсу лекцій і практичних занять у Python з'являться нові прихильники, для яких він стане незамінним інструментом.
Як описати мову?
У цій лекції не ставиться цілі систематично описати Python: для цього існує оригінальне довідкове керівництво. Тут пропонується розглянути мову одночасно в декількох аспектах, що досягається набором прикладів, які дозволять швидше долучитися до реального програмування, ніж в разі суворого академічного підходу.
Однак варто звернути увагу на правильний підхід до опису мови. Створення програми - це завжди комунікація, в якій програміст передає комп'ютера інформацію, необхідну для виконання останнім дій. Те, як ці дії розуміє програміст (тобто «сенс»), можна назвати семантикою. Засобом передачі цього сенсу є синтаксис мови програмування. Ну а те, що робить інтерпретатор на підставі переданого, зазвичай називають прагматикою. При написанні програми дуже важливо, щоб в цьому ланцюжку не виникало збоїв.
Синтаксис - повністю формалізована частина: його можна описати на формальній мові синтаксичних діаграм (що і робиться в довідкових посібниках). Виявом прагматики є сам інтерпретатор мови. Саме він читає записане відповідно до синтаксисом «послання» і перетворює його в дії по закладеному в ньому алгоритму. Неформальним компонентом залишається тільки семантика. Саме в перекладі сенсу в формальний опис і криється найбільша складність програмування. Синтаксис мови Python має потужні засоби, які допомагають наблизити розуміння проблеми програмістом до її «розуміння» інтерпретатором. Про внутрішній устрій Python буде говоритися в одній із завершальних лекцій.
Історія мови Python
Створення Python було розпочато Гвідо ван Россум (Guido van Rossum) в 1991 році, коли він працював над розподіленої ОС Амеба. Йому був потрібний розширюваний мову, який би забезпечив підтримку системних викликів. За основу були взяті ABC і Модула-3. Як назва він вибрав Python в честь комедійних серій BBC «Літаючий цирк Монті-Пітона», а зовсім не за назвою змії. З тих пір Python розвивався за підтримки тих організацій, в яких Гвідо працював. Особливо активно мову вдосконалюється в даний час, коли над ним працює не тільки команда творців, а й ціле співтовариство програмістів з усього світу. І все-таки останнє слово про напрямок розвитку мови залишається за Гвідо ван Россум.
Програма на Python
Програма на мові Python може складатися з одного або декількох модулів. Кожен модуль являє собою текстовий файл в кодуванні, сумісної з 7-бітної кодуванням ASCII. Для кодувань, що використовують старший біт, необхідно явно вказувати назву кодування. Наприклад, модуль, коментарі або рядкові літерали якого записані в кодуванні KOI8-R, повинен мати в першій або другій рядку наступну специфікацію:
# - * - coding: koi8-r - * -
Завдяки цій специфікації інтерпретатор Python знатиме, як коректно переводити символи литералов Unicode-рядків в Unicode. Без цього рядка нові версії Python будуть видавати попередження на кожен модуль, в якому зустрічаються коди з встановленим восьмим бітом.
Про те, як робити програму модульної, стане відомо в наступних лекціях. У прикладах нижче використовуються як фрагменти модулів, записаних в файл, так і фрагменти діалогу з інтерпретатором Python. Останні відрізняються характерним запрошенням >>>. Символ решітка (#) відзначає коментар до кінця рядка.
Програма на Python, з точки зору інтерпретатора, складається з логічних рядків. Одна логічна рядок, як правило, розташовується в одному фізичному, але довгі логічні рядки можна явно (за допомогою зворотного косою риси) або неявно (всередині дужок) розбити на кілька фізичних:
print a, "- дуже довга рядок, яка не поміщається в", \
80, "знакоместу"
Примітка:
У всіх прикладах в основному використовується «офіційний» стиль оформлення коду на Python відповідно до документа «Python Style Guide», який можна знайти на сайті http://python.org
Основні алгоритмічні конструкції
Передбачається, що слухачі вже вміють програмувати хоча б на рівні шкільної програми, і тому цілком достатньо провести паралелі між алгоритмічними конструкціями і синтаксисом Python. Крім того, Python як правило не підводить інтуїцію програміста (по крайней мере, науці добре відомі типові пастки початківців програмістів на Python), тому вивчати синтаксис Python краще на прикладах, а не за допомогою синтаксичних діаграм або форм Бекуса-Наура.
послідовність операторів
Послідовні дії описуються послідовними рядками програми. Варто, щоправда, додати, що в програмах важливі відступи, тому всі оператори, що входять до послідовність дій, повинні мати один і той же відступ:
a = 1
b = 2
a = a + b
b = a - b
a = a - b
print a, b
Що робить цей приклад? Перевірити свою здогадку можна за допомогою інтерактивного режиму інтерпретатора Python.
При роботі з Python в інтерактивному режимі як би вводиться одна велика програма, що складається з послідовних дій. В наведеному вище прикладі використані оператори присвоювання і оператор print.
Оператор умови і вибору
Зрозуміло, одними тільки послідовними діями в програмуванні не обійтися, тому при написанні алгоритмів використовується ще й розгалуження:
if a> b:
c = a
Кінець ознайомчого уривка
СПОДОБАЛАСЯ КНИГА?
Ця книга коштує менше ніж чашка кави!
ДІЗНАТИСЬ ЦІНУ Що таке Python?
Як описати мову?