бліотечні інструменти мови Python - це те місце, де виконується більша частина операцій.
Утиліти сторонніх розробників
Python - це відкритий програмний продукт і тому розробники можуть створювати свої попередньо скомпільовані інструменти підтримки завдань, вирішити які внутрішніми засобами неможливо.
Перевага Python перед іншими мовами високого рівня
? Має більш широкі можливості, ніж Tcl. Мова Python підтримує програмування в цілому raquo ;, що робить його застосовним для розробки великих систем.
? Має більш чіткий синтаксис і більш просту архітектуру, ніж Perl, що робить програмний код більш легким для читання, простим у супроводі і знижує ймовірність появи помилок.
? Простіше і зручніше, ніж Java. Python - це мова сценаріїв, а Java успадкувала складний синтаксис від таких мов програмування, як C ++.
? Простіше і зручніше, ніж C ++, але нерідко він не може конкурувати з C ++, оскільки, будучи мовою сценаріїв, Python призначений для вирішення іншого кола завдань.
? Більш потужний і більше стерпний, ніж Visual Basic. Відкрита природа Python також означає, що немає якоїсь окремої компанії, яка його контролює.
? Більш легкий для читання і більш універсальний, ніж PHP. Іноді Python використовується для створення веб-сайтів, але він здатний вирішувати набагато більш широке коло завдань, від керування роботами до створення анімаційних фільмів.
? Більш зрілий і має більш ясний синтаксис, ніж Ruby. На відміну від Ruby і Java, об'єктно-орієнтований стиль програмування є необов'язковим в Python - він не змушує використовувати ООП в проектах, де цей стиль непридатний.
? Володіє динамічними особливостями таких мов, як SmallTalk і Lisp, але має більш простий і традиційний синтаксис, доступний як для розробників, так і для кінцевих користувачів настроюються систем.
Послідовність виконання програми
Компіляція в байт-код
Коли запускається програма, Python спочатку компілює вихідний текст (інструкції у файлі) в формат, відомий під назвою байт-код . Компіляція - це етап переведення програми, а байт-код - це низькорівневе, платформонезалежних уявлення вихідного тексту програми. Інтерпретатор Python транслює кожну вихідну інструкцію в ґру?? пи інструкцій байт-коду, розбиваючи її на окремі складові. Справді, така трансляція в байт-код виробляється для підвищення швидкості - байт-код виконується набагато швидше, ніж вихідні інструкції в текстовому файлі.
Інтерпретатор зберігає байт-код для прискорення запуску програм. Наступного разу, коли ви спробуєте запустити свою програму, Python завантажить файл . Pyc і мине етап компіляції - за умови, що вихідний текст програми не змінювався з моменту останньої компіляції. Щоб визначити, чи необхідно виконувати перекомпіляцію, Python автоматично порівняє час останньої зміни файлу з вихідним текстом і файлу з байт-кодом. Якщо вихідний текст зберігався на диск після компіляції, наступного разу його запуску інтерпретатор автоматично виконає повторну компіляцію програми.
Якщо інтерпретатор виявиться не в змозі записати файл з байт-кодом на диск, програма від цього не постраждає, байт-код буде згенерований в пам'яті і зникне по завершенні програми.
Віртуальна машина Python (PVM)
Як тільки програма буде скомпільована в байт-код (або байт-код буде завантажений з існуючих файлів . pyc ), він передається механізму під назвою віртуальна машина Python (PVM). PVM - це механізм часу виконання, вона завжди присутня в складі системи Python і це програмний компонент, який виконує сценарії.
мову програмування python фреймворк
Рис.1. Традиційна модель виконання програм на мові Python
Оригінальний текст, який вводиться програмістом, транслюється в байт- код, який потім виповнюється віртуальною машиною Python. Оригінальний текст автоматично компілюється і потім інтерпретується
Продуктивність
байт- код - це внутрішнє уявлення програм мовою Python. З цієї причини програмний код мовою Python не може виконуватися так само швидко, як програмний код на мові C або C ++. Обхід інструкцій виконує віртуальна машина, а не мікропроцесор, і щоб виконати байт-код, необхідна додаткова інтерпретація, інструкції якого вимагають на виконання більше часу, ніж машинні інструкції мікропроцесора. З іншого боку, на відміну від класичних інтерпретаторів, тут присутній додаткови...