Поради для всіх
» » Python - що це? Високорівнева мова програмування

Python - що це? Високорівнева мова програмування

Додано: 30.05.16
Автор: admin
Python є універсальною мовою високого рівня, який може бути розширений і вбудований. Він, наприклад, входить в комплект програм як інструмент написання макросів. Це робить Python розумним вибором для багатьох завдань програмування, великих і не дуже, і не таким вдалим для невеликого числа обчислювальних завдань.

Де краще використовувати?

Мова Python ідеально підходить для проектів, що вимагають швидкої розробки. Він підтримує декілька парадигм програмування, що добре для програм, які вимагають гнучкості. А наявність безлічі пакетів і модулів забезпечує універсальність та економить час.
Гвідо ван Россум – творець Python, ласкаво удостоєний співтовариством звання «великодушний довічний диктатор». В кінці 1980-х Гвідо подобалися особливості деяких мов програмування, але жоден з них не володів усіма можливостями, які б йому хотілося мати. Зокрема мова повинен був володіти наступними характеристиками.
Python - що це? Високорівнева мова програмування

Мова сценаріїв

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

Відступ для групування операторів

Python визначає приналежність виразів до однієї групи з допомогою відступів. Така група називається блоком коду. В інших мовах для цього використовується інший синтаксис або знаки пунктуації. Наприклад, в C символ символ {позначає початок і} – кінець послідовності команд. Наявність відступів вважається хорошою практикою і в інших мовах, але одним з перших, в якому дотримання відступів забезпечується примусово, був Python. Що це дає? Відступ робить код більш зручним для читання, а кодові блоки вимагають менше позначень їх початку і кінця і знаків пунктуації, які можна випадково пропустити. Все це веде до меншої кількості помилок.

Типи даних високого рівня

Комп'ютери зберігають дані в одиницях і нулях, але люди потребують більш складних формах, таких як текст. Про мову, що підтримує складні дані, кажуть, що він підтримує типи даних високого рівня. Такими типами даних легко оперувати. Наприклад, у Python рядка можна розділяти, об'єднувати, переводити у верхній або нижній регістр, в них можна робити пошук і т. д. Високорівневі типи даних, такі як списки і словники, які можуть зберігати та інші дані, що володіють набагато більшими функціональними можливостями, ніж інші мови.
Python - що це? Високорівнева мова програмування

Розширюваність

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

Інтерпретація

Інтерпретовані мови виконуються безпосередньо з вихідного коду, написаного людьми, а програми, написані на компилируемих мовах, таких як C ++, повинні бути переведені в машинний код. Інтерпретовані мови більш повільні, так як трансляція відбувається на лету, але написання програм і їх відладка відбувається швидше, так як відсутня необхідність очікувати завершення роботи компілятора. Вони легше переносяться на різні платформи. Можна сперечатися з приводу того, чи є Python интерпретируемим або компилируемим мовою. Хоча у багатьох відношеннях він працює як інтерпретується в microsoft, перед виконанням його код компілюється (як в Java), і багато його компоненти працюють на повній швидкості машини, так як написані на C. Гвідо почав писати Python під час різдвяних канікул у 1989 р., і протягом наступного року він доробляв мову на основі відгуків своїх колег. Широка публіка побачила результат у лютому 1991 р., коли він був розміщений в одній з новинних груп Usenet.
Python - що це? Високорівнева мова програмування

Python для початківців

Для того щоб почати писати програми на Python, потрібно його встановити. У версій Python 2.7 і Python 3.5 є істотні відмінності, через які програми, написані на них, є несумісними. У комп'ютерах Macintosh дана мова є, і його версія залежить від віку ОС. При роботі в Windows доведеться самостійно встановити Python. Файли інсталяційного пакета можна вибрати на сайті python.org.

Два способи взаємодії

Однією з причин простоти, якою відрізняється програмування на Python, є те, що він поставляється з інструментами, які допоможуть розробляти, створювати та налагоджувати програми. В інтерактивному режимі команди вводяться по одному рядку за раз, майже так само, як операційна система (оболонка) приймає команди з командного рядка. Також можна створювати короткі багаторядкові програми або імпортувати код з текстових файлів або вбудованих модулів Python. Для початківців буде корисно знати, що інтерактивний режим включає велику довідкову систему. Це зручний спосіб вивчення можливостей мови програмування.
Середовище розробки IDLE включає інтерактивний режим та інструменти для написання і запуску програм, а також систему відстеження імен. Середа написана на Python і демонструє великі можливості мови.
Python - що це? Високорівнева мова програмування

Інтерактивний режим

Тут можна робити практично все, що можна зробити в програмі, навіть писати багаторядкові код. Даний режим може служити:
  • пісочницею для безпечних експериментів;
  • середовищем, що дозволяє вивчати програмування на Python;
  • інструментом пошуку й виправлення помилок.
  • Слід врахувати, що зберегти введене в інтерактивному режимі неможливо. Для цього необхідно записати копію коду і результати у файлі. Інтерактивний режим можна використовувати в якості калькулятора, маніпулювати текстом і присвоювати значення змінним. Також можна імпортувати модулі, функції або частини програм для їх тестування. Це допомагає експериментувати з об'єктами Python без написання довгих програм і налагоджувати програми шляхом перетворення їх частин по одній за раз.

    Робота в інтерактивному режимі

    Після запуску Python у вікні терміналу відобразиться інформація про поточну версію програми, дату її випуску, кілька підказок подальших дій і запрошення вводу . Для роботи в інтерактивному режимі слід ввести команду або вираз і натиснути клавішу вводу. Python інтерпретує enter і відреагує, якщо набране вимагає відповіді, або інтерпретатор його не розуміє. Наступна команда надрукує рядок. Оскільки місце печатки не зазначено, виведення відбувається на екран.
  • print "Привіт, світ!"
  • Привіт, світ!
  • Ця єдина рядок є цілою програмою! В інтерактивному режимі Python обробляє кожну рядок введеного коду після натискання клавіші вводу, і результат з'являється нижче.
    Python - що це? Високорівнева мова програмування

    Перегляд інформації про об'єкт

    В інтерактивному режимі є два способи перегляду інформації про об'єкт:
  • ввести об'єкт (або його ім'я) і натиснути клавішу вводу;
  • ввести команду print і об'єкт (або його ім'я) і натиснути Enter.
  • Результат залежить від об'єкта. При використанні певних типів даних (цілих і списків, наприклад) ці два методи дають однаковий результат:
  • х =[3,2]
  • х
  • [3, 2]
  • print х
  • [3, 2]
  • Для рядків результат набору команди «print ім'я» трохи відрізняється від результату, отриманого для введення імені. В першому випадку значення полягає в лапки, а в другому – ні:
  • x = "MyString"
  • х
  • "MyString"
  • print х
  • MyString
  • Коли ім'я відноситься до блоку коду (наприклад, функції, модуля або екземпляра класу), введення імені надасть інформацію про вигляді даних, імені та місця зберігання. У наступному прикладі створюється клас з ім'ям Message та виводиться інформація про ньому:
  • class Message:
  • pass
  • Message
  • print Message
  • __main __. Message
  • Рядки

    В Python рядки є послідовностями символів. Рядковий літерал створюється шляхом укладення символів в одинарні ('), подвійні (") або потрійні ("' або """) лапки. У наведеному прикладі присвоюється значення змінної x:
  • x = "MyString"
  • Рядок Python має кілька вбудованих можливостей. Однією з них є здатність повернути свою копію з усіма рядковими літерами. Ці можливості відомі як методи. Щоб викликати метод об'єкта, слід використовувати точковий синтаксис. Тобто після введення імені змінної, яка в даному випадку є посиланням на об'єкт рядка, потрібно поставити оператор-крапку (.), а потім назва методу з подальшим відкриттям і закриттям дужки:
  • x.lower ()
  • "mystring"
  • Можна одержати частину рядка за допомогою оператора індексування s[i]. Індексація починається з нуля, так що s[0]повертає перший символ у рядку, s[1]повертає другий, і так далі:
  • x[0]
  • 'm'
  • x[1]
  • 'y'
  • Рядкові методи працюють як з звичайними рядками, так і з "Юнікодом". Вони виробляють наступні дії:
  • зміна регістра (capitalize, upper, lower, swapcase, title);
  • підрахунок (count);
  • зміна кодування (encode, decode);
  • пошук і заміну (find, replace, rfind, index, rindex, translate);
  • перевіряють виконання умов (startswith, endswith, isalnum, isalpha, isdigit, islower, isspace, istitle, isupper);
  • об'єднують і поділяють (join, partition, rpartition, split, splitlines);
  • форматують (center, ljust, lstrip, rstring, rjust, strip, zfill, expandtabs).
  • Python - що це? Високорівнева мова програмування

    Python: списки

    Якщо рядки Python обмежені символами, списки яких-небудь обмежень не мають. Вони являють собою впорядковані послідовності довільних об'єктів, включаючи інші списки. Крім того, можна додавати, видаляти і змінювати їх елементи. Ряд об'єктів, розділених комами всередині квадратних дужок, і є список Python. Що це собою являє, показано нижче – тут наведено приклади даних і операцій з ними:
  • bases =['A', 'C', 'G', 'T']
  • bases
  • ['A', 'C', 'G', 'T']
  • bases.append('U')
  • bases
  • ['A', 'C', 'G', 'T', 'U']
  • bases.reverse()
  • bases
  • ['U', 'T', 'G', 'C', 'A']
  • bases[0]
  • 'U'
  • bases[1]
  • 'T'
  • bases.remove('U')
  • bases
  • ['T', 'G', 'C', 'A']
  • bases.sort()
  • bases
  • ['A', 'C', 'G', 'T']
  • У цьому прикладі був створений список окремих символів. Потім в кінець був доданий елемент, обернений порядок елементів, витягнуті елементи з позиції їх індексу, був видалений елемент зі значенням 'U' та проведено сортування елементів. Видалення елемента зі списку ілюструє ситуацію, коли методу remove() необхідно надати додаткову інформацію, а саме значення, яке слід видалити. Крім методів, подібних remove(), Python володіє ще однією подібною можливістю, званою функцією. Єдина відмінність між функцією і методом є те, що перша не пов'язана з конкретним об'єктом.

    Python: функції

    Функції виконують дії над одним або кількома значеннями і повертають результат. Велика їх кількість вбудовано в Python. Приклади вбудованих функцій:
  • len() – повертає кількість елементів у послідовності;
  • dir() – повертає список рядків, що представляють атрибути об'єкта;
  • list() – повертає новий список, ініційовану з якоїсь іншої послідовності.
  • help(round)
  • Help on built-in function round:
  • round()
  • round(number[, ndigits]) -> floating point number
  • Також є можливість визначити свої власні функції.
    Python - що це? Високорівнева мова програмування

    Функції, визначені користувачем

    Процес створення власної Python-функції такої. Перший рядок починається з ключового слова def, за яким іде ім'я функції і аргументи (очікувані вхідні значення), укладені в дужки, і закінчується двокрапкою. Наступні команди складають тіло функції і повинні мати відступ. Якщо коментар знаходиться на початку тіла функції, він стає частиною її документації. Останній рядок функції повертає результат:
  • def transcribe(dna):
  • """Return dna string as rna string."""
  • return dna.replace('T', 'U')
  • transcribe('CCGGAAGAGCTTACTTAG')
  • 'CCGGAAGAGCUUACUUAG'
  • У цьому прикладі була створена функція під назвою transcribe, яка очікує рядок, що представляє послідовність ДНК. Метод replace() повертає копію вихідної рядки з заміною всіх входжень одного символу на інший. Три рядки коду дозволили транскрибувати ДНК в РНК. Зворотна функція виглядає так:
  • def reverse(s):
  • """Return the sequence string in reverse order."""
  • letters = list(s)
  • letters.reverse()
  • return ".join(letters)
  • reverse('CCGGAAGAGCTTACTTAG')
  • 'GATTCATTCGAGAAGGCC'
  • Функція reverse приймає рядок, створює список, заснований на ній, і змінює його порядок. Тепер потрібно зробити зворотне перетворення. Об'єкт має метод join (), який об'єднує список, розділяючи кожен його елемент значенням рядка. Так як роздільник не потрібен, метод використовується на порожньому рядку, представленої двома лапками (" або "").

    Словники

    А словник Python - що це? Він має ті ж переваги, що і звичайний паперовий словник. Дозволяє швидко знайти потрібне значення (визначення), пов'язане з ключем (словом). Словники полягають у фігурні дужки і містять розділений комами послідовність пар ключ-значення. Словники не впорядковані. Замість цього словникові значення доступні через їх ключ, а не їх позицію.
  • basecomplement = {'A': 'T', 'C': 'G', 'T': 'A', 'G': 'C'}
  • basecomplement.keys()
  • ['A', 'C', 'T', 'G']
  • basecomplement.values()
  • ['T', 'G', 'A', 'C']
  • basecomplement['A']
  • 'T'
  • Класи

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

    Переваги

    Більшість мов програмування пропонують зручні функції, але жоден з них не володіє такою комбінацією зручності і потужності, яку пропонує Python. Що це за переваги? Ось деякі з них:
  • Мова може бути вбудований в інші програми і використаний для створення макросів. Наприклад, Paint Shop Pro 8 і пізніших версіях він є мовою сценаріїв.
  • Python безкоштовним для використання і поширення, на комерційній основі чи ні.
  • Мова володіє потужними можливостями по обробці та пошуку тексту, що використовується в додатках, що працюють з великою кількістю текстової інформації.
  • На ньому можна створювати великі програми без необхідності перевірки запускаються програм.
  • Python підтримує тестування і налагодження окремих модулів і цілих програм.