Якщо ви колись написали великий скрипт для оболонки, то вам напевно знайоме це почуття: вам хочеться додати ще одну рису, але скрипт уже й так занадто повільний та заскладний або ця риса потребує виклику системної команди чи іншої функції, яку можна викликати лише із C... Часто проблема не така вже й складна, щоб переписувати весь скрипт на C; можливо проблема вимагає ланцюжків змінної величини чи інших типів даних (таких як впорядковані списки назв файлів), що легко утворити в оболонці, але які потребують багато роботи на C, чи можливо ви не достатньо обізнані з C.
Інша ситуація: можливо вам потрібно працювати з кількома бібліотеками, написаними на C, але традиційний цикл "написання-компіляція-тестування-компіляція" занадто повільний. Вам потрібно розробити програму швидше. Можливо ви написали програму, яка потребує мови розширення, але вам не хочеться створювати нову мову, писати та налагоджувати її інтерпретатор, і потім прив'язувати його до вашої програми.
У таких випадках Пітон може бути саме тією мовою, що потрібна. Його легко використовувати, у той же час це справжня мова програмування, що має значно багатшу структуру та підтримку для написання великих програм, ніж традиційна оболонка. З іншого боку, Пітон пропонує набагато кращу перевірку помилок ніж С, і, будучи мовою дуже високого рівня, він має вмонтовані типи даних високого рівня, зокрема гнучкі масиви та словники, для ефективного створення яких на мові С потрібно кілька днів. Завдяки загальнішім типам даних, Пітон може бути застосований для вирішення набагато ширшого кола проблем, ніж така мова як AWK, чи навіть Perl; водночас багато речей можуть бути створені на Пітоні так само просто, як і на цих мовах.
Пітон дозволяє розбити вашу програму на модулі, які можуть згодом використовуватися в інших програмах, написаних на Пітоні. Пітон має велику кількість стандартних модулів, які ви можете покласти в основу своїх програм або на яких можете почати вчитися програмувати. Існують також вбудовані модулі для таких речей як файловий ввід-вивід, системні виклики, сокети, і навіть графічні інтерфейси, напр. Tk (Ті-кей).
Пітон - це інтерпретована мова, що може зберегти вам чимало часу при розробці програм, тому що компіляція та прив'язування (linking) непотрібні. Інтерпретатор може також використовуватися у діалоговому режимі, що спрощує експериментування з різними рисами мови, написання одноразових програм чи тестування шляхом зворотньої розробки. Це також зручний настільний калькулятор.
Пітон дозволяє створювати дуже компактні та читабельні програми. Типова програма, написана на Пітоні - набагато коротша ніж еквівалентна програма на C чи C++, що відбувається з таких причин:
- структури даних високого рівня дозволяють виразити складні операції за допомогою окремих тверджень;
- групування тверджень робиться за допомогою виділення пробілами замість фігурних дужок;
- декларація змінних чи аргументів непотрібна;
Пітон можна розширити: якщо ви вмієте програмувати на C, то вам буде достить легко додати нову вбудовану функцію до інтерпретатора, що надасть можливість виконувати критичні операції з максимальною швидкістю, або прив'язати Пітон до вже скомпільованих бібліотек (напр., спеціальні графічні бібліотеки). Також ви можете прив'язяти інтерпретатор Пітона до програми, написаній на C і використовувати його як розширення чи командну мову для вашої програми.
Між іншим, мова називається на честь шоу від Бі-Бі-Сі "Monty Python's Flying Circus" ("Летючий цирк Монті Пайтона") і не має жодного відношення до рептилій. Жарти про Монті Пайтона не лише дозволяються, але й заохочуються!
Тепер, коли ви всі вже мабуть полюбили Пітон, ви напевно хочете докладніше ознайомитися з цією мовою. Оскльки найкращий спосіб вивчити мову - це працювати з нею, отож і ми заохочуємо вас це зробити.
У наступному розділі йтиметься про механіку користування інтерпретатором. Це доволі банальна, але істотна для розуміння подальших прикладів інформація.
Решта цього навчального посібника пояснює різні риси мови й системи Пітон на прикладах, починаючи з простих виразів, тверджень і типів даних, через функції і модулі і нарешті до більш складних концепцій, як винятки та визначені користувачем класи.