Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

готов / 4_Теор відомості

.doc
Скачиваний:
4
Добавлен:
05.02.2016
Размер:
254.46 Кб
Скачать

РОЗДІЛ 3. МОВА ПРОГРАМУВАННЯ PYTHON

Blender – багатоплатформений графічний 3D пакет з відкритим вихідним кодом. Програма включає в себе засоби 3D моделювання, анімації, рендерингу та обробки відео, набір опцій для створення інтерактивних ігор, візуальних 3D ефектів та багато іншого. Для реалізації певних операцій в Blender було розроблено спеціальний інтерфейс для взаємодії з мовою програмування Python.

3.1. Загальні відомості

Python "Пітон" – інтерпретацієя, об'єктно-орієнтованої мови програмування високого рівня з динамічною семантикою. Структури даних високого рівня з динамічною семантикою та динамічне зв'язування роблять Python привабливим для програм швидкого розвитку, а також як засіб об'єднання існуючих компонентів. Python підтримує модулі та пакети модулів, сприяє модульність і дає змогу повторно використовувати код. Інтерпретатор м і стандартні бібліотеки доступні як у скомпільованій, так і у вихідній формі на всіх основних платформах. У мові програмування Python підтримується декілька парадигм програмування, зокрема: 

  • об'єктно-орієнтована;

  • процедурна;

  • функціональна;

  • аспектно-орієнтована.

Python – це скриптова мова загального призначення, для якої був розроблений спеціальний інтерфейс, призначений для взаємодії з внутрішніми функціями Blender'а. Більшість функцій не залежать від Python. Єдиний виняток це меню Help яке відкриває зовнішні посилання в веб-браузер.

Python портований та працює майже на всіх нині відомих платформах — від КПК до мейнфреймів.

Серед основних переваг Python можна назвати такі:

  • чистота синтаксису (для виділення блоків слід використовувати відступи);

  • переносимість програм;

  • дистрибутив має велику кількість корисних модулів;

  • можливість використання Python в діалоговому режимі (дуже корисне для розв'язання простих задач);

  • стандартний дистрибутив має просте, але досить потужне середовище розробки, яке зветься IDLE та яке написане на мові Python;

  • зручний для розв'язання математичних проблем.

Пайтон має ефективну структуру даних високого рівня та простий, але водночас із тим, ефективний підхід до об'єктно-орієнтованого програмування. Елегантний синтаксис Пайтона, динамічна обробка типів роблять її ідеальною для написання скриптів та швидкої розробки прикладних програм у багатьох галузях на більшості платформ.

Інтерпретатор мови Python може бути розширений функціями та типами даних, розробленими на C або C++. Пайтон також зручний як мова розширення для прикладних програм, які потребують подальшого налагодження.

3.2. Типи й структури даних

Python підтримує динамічну типізацію, це означає що тип змінної визначається лише під час виконання. З базових типів слід зазначити підтримку цілих чисел довільної довжини, а також комплексних чисел. Пайтон має досить багату бібліотеку для роботи з рядками, а саме кодованими в юнікоді.

З колекцій Python підтримує кортежі, списки, словники і множини.

Системи класів підтримують множинне успадкування та метапрограмування. Будь-який тип входить до системи класів, та за необхідності можливе успадкування навіть від базових типів.

Подібно Ліспу і Прологу в режимі відлагодження, інтерпретатор Пайтон має інтерактивний режим роботи, при якому введені з клавіатури оператори одразу виконуються, а результати виводяться на екран. Цей режим цікавий як новачкам, так і досвідченим програмістам, які можуть протестувати в інтерактивному режимі будь-які ділянки коду, перш ніж використовувати їх в основній програмі, або просто використовувати як калькулятор, що має великим набір функцій.

Спілкування з Python в інтерактивному режимі можна побачити в на рис.1

Рис.1. Спілкування з Python в інтерактивному режимі.

3.3. Об'єктно-орієнтоване програмування

Дизайн Python побудований навколо об'єктно-орієнтованої моделі програмування. Реалізація ООП в Python є потужною і добре продуманою, але достатньо специфічною в порівнянні з іншими об'єктно-орієнтованими мовами.

Можливості та особливості:

  1. Класи одночасно є об'єктами разом з усіма нижче приведеними можливостями.

  2. Успадкування, а також множинне успадкування.

  3. Поліморфізм.

  4. Інкапсуляція

  5. Особливість — приховані члени доступні для використання і помічені як приховані лише під особливими іменами.

  6. Спеціальні методи, керуючі життєвим циклом об'єкта (конструктори, деструктори).

  7. Перевантаження операторів.

  8. Властивості.

  9. Управління доступу до полів.

  10. Методи для управління найпоширенішими операціями.

  11. Метапрограмування.

  12. Повна інтроспекція.

  13. Класові і статичні методи, класові поля.

  14. Класи, вкладені у функції.

3.4. Функціональне програмування

Python підтримує парадигму функціонального програмування:

  • Функція є об'єктом.

  • Функції вищих порядків.

  • Рекурсія.

    • Розвинена обробка списків.

  • Аналог замикань.

  • Часткове застосування функцій.

  • Можливість реалізації інших засобів.

3.5. Обробка винятків

Обробка винятків в Python виконується за допомогою операторів try, except, else, finally, raise , що утворюють блок обробки винятків. У загальному випадку блок виглядає як на рис.2.

Рис.2. Обробка винятків в Python.

Спільне використання else, except та finally стало можливо починаючи з Python 2.5. Інформація про поточний виняток доступна через sys.exc_info(). Крім значення винятку, Пайтон зберігає стан стеку аж до точки збудження винятку — traceback.

В Python використання винятку не призводить до значних накладних витрат, а часто навіть дозволяє прискорити виконання программ, та широко використовується. В деяких випадках, замість явної обробки винятків, зручніше використовувати блок with.

Соседние файлы в папке готов