оки. Внаслідок цього і деяких інших причин на Python відсутні стандарт ANSI, ISO або інші офіційні стандарти, їх роль виконує CPython.
Історія Pythonбил задуманий в 1980-х роках, а його створення почалося в грудні 1989 року Гвідо ван Россум в складі центру математики та інформатики в Нідерландах. Мова Python був задуманий як нащадок мови програмування ABC, здатний до обробки винятків і взаємодії з операційною системою Амеба. Ван Россум є основним автором Python-а і донині продовжує виконувати центральну роль в прийнятті рішень щодо розвитку мови. Версія Python 2.0 була випущена 16 жовтня 2000 і включала в себе багато нових великих функцій таких як повний збирач сміття та підтримка Unicode. Однак, найбільш важливим з усіх змін була зміна самого процесу розвитку мови і перехід на більш прозорий процес його створення. Перша версії Python 3.0 була випущена 3 грудня 2008 після тривалого періоду тестування. Багато функцій в цій новій версії були сумісні з Python 2.6 і Python 2.7. Стабільною версією на момент написання кваліфікаційної роботи є Python 3.3 (на стадії тестування Python 3.4) [7].
Із сучасних мов Python можна порівняти в першу чергу з Java і Perl. Python виконує всі обіцянки, які дала, але не виконала Java. Python дуже добре переносимо. Він працює на всіх платформах, на яких є Java, і ще на багатьох. Мало знайдеться таких платформ, на які Python не перенісся. Я не кажу про UNIX та Windows, звичайно - з погляду переносимості куди цікавіше такі платформи як Mac, Amiga, Palm, RiscOS, AS/400 та багато інших. Для особливих любителів Java є Jython. Він складається з двох частин: по-перше, це інтерпретатор Pyhon, написаний на Java, а по-друге це компілятор Python в байт-код Java. У порівнянні з Perl - Python як мова йому абсолютно равномощен, але позбавлений від безлічі неприємностей і незручностей, властивих Perl. Python володіє багатою стандартною бібліотекою, плюс безліччю модулів, доступних в Інтернеті. Для користувачів Windows є пакет win32, з якого доступні практично всі функції Windows API, DDE, COM [1].
Основні структури управления- цілком звичайний, можна сказати, традиційний мова програмування. Всі звичні конструкції в мові є - умовний оператор if, цикли for і while, функції, класи, модулі, пакети (ієрархічні сукупності модулів). Немає циклу do-while і оператора case.
З менш традиційних операторів - збудження винятків raise і їх перехоплення try-except-else і try-finally. Втім, виключення починають займати своє місце і в інших сучасних мовах, так що чимось революційним їх назвати не можна.
Для багатьох стає несподіваним, що в Пітоні блокова структура позначається відступами, а не словами begin/end (або дужками). До цього, однак, швидко звикаєш, і це стає дуже зручно.
Модулі - структурування простору імен
При створенні великих програм або бібліотек великою кількістю людей постає проблема колізій імен. Пітон вирішує цю проблему так само, як і більшість сучасних мов - структуруванням простору імен за допомогою ієрархічно організованих модулів.
У Пітоні 3 простору імен: вбудоване простір імен (їм можна керувати за допомогою модуля доступу до інтерпретатора sys), локальний простір функції, і глобальний простір модуля. (Об'єктно-орієнтоване програмування створює додаткові простору класів та примірників класів, про це нижче). Кожне простір імен - це список відображень імені в значення [1].
Модуль - це сукупність описів, об'єднаних в загальний простір імен - глобальний простір модуля. Модулі підключаються до програми (або іншого модуля) за допомогою оператора import, після якого імена з простору імен модуля стають доступними. Які саме імена стають доступні, визначає оператор import: варіант import module робить доступним рівно одне ім'я - ім'я модуля module, але зате через це ім'я можна використовувати всі глобальні імена модуля у вигляді module.name. У варіанті from module import name з модуля імпортується вказане ім'я або список імен. У варіанті from module import * з модуля імпортуються всі імена. Хоча автор модуля може обмежити цей список, а у відсутності такого обмеження не імпортуються імена, що починаються з підкреслення - вважається, що це внутрішні імена модуля, що не входять в його публічний інтерфейс.
Модуль може бути написаний на Python, C або C ++. Модулі, написані на Пітоні, дозволяють створювати нові класи (про об'єктно-орієнтованому програмуванні мова йтиме нижче). Модулі написані на C і C ++ дозволяють створювати нові типи даних. Модулі, написані на C/C ++ можуть бути вбудовані (builtin) або підкачуємі (DLL в Windows, колективні бібліотеки в тих варіантах UNIX, в яких формат виконуваних файлів ELF).
Модуль на Пітоні - це текстовий файл з розширенням .py, що містить опису змі...