готов / 4_Теор відомості
.docРОЗДІЛ 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 є потужною і добре продуманою, але достатньо специфічною в порівнянні з іншими об'єктно-орієнтованими мовами.
Можливості та особливості:
-
Класи одночасно є об'єктами разом з усіма нижче приведеними можливостями.
-
Успадкування, а також множинне успадкування.
-
Поліморфізм.
-
Інкапсуляція
-
Особливість — приховані члени доступні для використання і помічені як приховані лише під особливими іменами.
-
Спеціальні методи, керуючі життєвим циклом об'єкта (конструктори, деструктори).
-
Перевантаження операторів.
-
Властивості.
-
Управління доступу до полів.
-
Методи для управління найпоширенішими операціями.
-
Метапрограмування.
-
Повна інтроспекція.
-
Класові і статичні методи, класові поля.
-
Класи, вкладені у функції.
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.