уперечать один одному. У той же час Python ідеально підходить на роль другої мови, оскільки він відразу ж засвоюється завдяки вже наявних знань в ООП, і тому, що його можливості не конфліктують, а доповнюють досвід, накопичений при роботі з іншою мовою програмування.
Якщо ж програміст тільки починає свій шлях в області розробки ПЗ, то Python стане ідеальним вступним мовою програмування. Завдяки своїй лаконічності він дозволить швидше опанувати синтаксисом мови, а відсутність спадщини у вигляді формувалися протягом багатьох років аксіом допоможе швидко освоїти ООП. У силу цих факторів крива навчання Python буде досить короткою, і програміст зможе перейти від навчальних прикладів до комерційних проектів.
Тому ким би не був читач даної статті - досвідченим програмістом або новачком в області розробки ПЗ, відповіддю на питання, яке є і назвою цього розділу, має стати переконливе да .
Цей цикл статей призначений для того, щоб допомогти успішному подоланню кривої навчання raquo ;, послідовно надаючи інформацію, починаючи з самих базових принципів мови до його просунутих можливостей в плані інтеграції з іншими технологіями. У першій статті мова піде про основні можливості і синтаксисі Python. Надалі ми розглянемо більш складні аспекти роботи з цим популярним мовою, зокрема об'єктно орієнтоване програмування на Python.
Архітектура Python.
Будь-яка мова, неважливо - для програмування або спілкування, складається як мінімум з двох частин - словника і синтаксису. Мова Python організований точно так само, надаючи синтаксис для формування виразів, що утворюють виконувані програми, і словник - набір функціональності у вигляді стандартної бібліотеки і модулів.
Як уже згадувалося, синтаксис Python досить лаконічний, особливо якщо порівнювати з Java або C ++. З одного боку - це добре, тому що чим простіше синтаксис, тим простіше його вивчити і тим менше помилок можна зробити в процесі його використання. Однак у подібних мов є недолік - з їх допомогою можна передавати найпростішу інформацію і не можна виражати складні конструкції.
До Python це не відноситься, оскільки це мова простий, але спрощений. Справа в тому, що Python є мовою з більш високим рівнем абстракції, вище, наприклад, ніж у Java і C ++, і дозволяє передати таку ж кількість інформації в меншому обсязі вихідного коду.
Також Python є мовою загального призначення, тому може застосовуватися практично у галузі розробки ПЗ (standalone, клієнт-сервер, Web-додатки) і в будь-якій предметній області. Крім того, Python легко інтегрується з уже існуючими компонентами, що дозволяє впроваджувати Python у вже написані програми.
Інша складова успіху Python - це його модулі розширення, як стандартні, так і специфічні. Стандартні модулі розширення Python - це відмінно спроектована і неодноразово перевірена функціональність для вирішення завдань, що виникають в кожному проекті з розробки ПЗ, обробка рядків і текстів, взаємодія з операційною системою, підтримка Web-додатків. Ці модулі також написані на мові Python, тому володіють його найважливішою властивістю - крос-платформенностью, що дозволяє безболісно і швидко переносити проекти з однієї операційної системи на іншу.
Якщо необхідної функціональності не виявилося в стандартній бібліотеці Python, то можна створити власний модуль розширення для його подальшого неодноразового використання. Тут варто відзначити, що модулі розширення для Python можна створювати не тільки на самій мові Python, але і за допомогою інших мов програмування. У цьому випадку з'являється можливість більш ефективної реалізації ресурсномістких завдань, наприклад складних наукових обчислень, однак втрачається перевага крос-платформенности, якщо мова модуля розширення не є сам по собі крос-платформних, як Python.
середу виконання Python.
Як відомо, всі крос-платформні мови програмування побудовані по одній моделі: це дійсно переносимий вихідний код і середу виконання (runtime environment), яка не є переносимої і специфічна для кожної конкретної платформи. Цієї середи виконання зазвичай входить інтерпретатор, який виконує вихідний код, і різні утиліти, необхідні для супроводу додатки - відладчик, зворотний асемблер і т.д.
У середу виконання Java додатково входить компілятор, оскільки початковий код необхідно скомпілювати в байт-код для віртуальної Java-машини. У середу виконання Python входить тільки інтерпретатор, який одночасно є і компілятором, однак компілює вихідний код Python безпосередньо в машинний код цільової платформи.
На даний момент існують три відомих реалізації середовища виконання для Python: CPython, Jython і Python.NET. Як можна здогадатися з назви, перша се...