Python

от Уикипедия, свободната енциклопедия
Направо към: навигация, търсене
Python
Официално лого на Python
Парадигма обектно ориентиран, процедурен, функционален
Реализиране през 1990 г.
Автор Python Software Foundation
Типизация на данните динамична
Програмни диалекти Cython, RPython, Stackless Python
Повлиян от ABC, Modula-3, Icon, C, Perl, LISP, Smalltalk, Tcl
Повлиява Ruby, Boo
Уебсайт http://www.python.org

Python е интерпретируем, интерактивен, обектно-ориентиран език за програмиране, създаден от Гуидо ван Росум в началото на 90-те години. Кръстен е на телевизионното шоу на BBC Monty Python’s Flying Circus. Често бива сравняван с Tcl, Perl, Scheme, Java и Ruby.

Python предлага добра структура и поддръжка за разработка на големи приложения. Той притежава вградени сложни типове данни като гъвкави масиви и речници, за които биха били необходими дни, за да се напишат ефикасно на C.

Python позволява разделянето на една програма на модули, които могат да се използват отново в други програми. Също така притежава голям набор от стандартни модули, които да се използват като основа на програмите. Съществуват и вградени модули, които обезпечават такива неща като файлов вход/изход (I/O), различни системни функции, сокети (sockets), програмни интерфейси към GUI-библиотеки като Тк, както и много други.

Тъй като Python е език, който се интерпретира, се спестява значително време за разработка, тъй като не са необходими компилиране и свързване (linking) за тестването на дадено приложение. Освен това, бидейки интерпретируем език с идеология сходна с тази на Java, приложение, написано на него, е сравнително лесно преносимо на множеството от останали платформи (или операционни системи).

Програмите, написани на Python, са доста компактни и четими, като често те са и по-кратки от еквивалентните им, написани на C/C++. Това е така, тъй като:

  • наличните сложни типове данни позволяват изразяването на сложни действия с един-единствен оператор;
  • групирането на изразите се извършва чрез отстъп, вместо чрез начални и крайни скоби или някакви други ключови думи (друг език, използващ такъв начин на подредба, е Haskell);
  • не са необходими декларации на променливи или аргументи.
  • Python съдържа прости конструкции, характерни за функционалния стил на програмиране, които му придават допълнителна гъвкавост

Всеки модул на Python се компилира преди изпълнение до код за съответната виртуална машина. Този код се записва за повторна употреба като .pyc файл.

Програмите написани на Python представляват съвкупност от файлове с изходен код. При първото си изпълнение този код се компилира до байткод, а при всяко следващо се използва кеширана версия. Байткодът се изпълнява от интерпретатор на Python.

  • Строго типизиран (strong typing) - При несъответствие между типовете е необходимо изрично конвертиране.
  • Динамично типизиран (dynamic typing) - Типовете на данните се определят по време на изпълнението. Работи на принципа duck typing - Оценява типа на обектите според техните свойства.
  • Използва garbage collector - вътрешната реализация на езика се грижи за управлението на паметта.
  • Блоковете се формират посредством отстъп. Като разграничител между програмните фрагменти използва нов ред.

Версии[редактиране | edit source]

Езикът се обновява често. В момента се тече преход от версия 2 към 3. Версия 3 съдържа много промени и поради това е несъвместима с по-старите реализации на езика. Повечето налични библиотеки и програми са написани и работят за версия 2.

Примерна програма[редактиране | edit source]

Това е сорс кодът на една примерна програма на python, която разпечатва на екрана Hello Python!

#!/usr/bin/python
 
print('Hello Python!')

Външни препратки[редактиране | edit source]