Ако сте начинаещ, трябва да се чудите с коя версия на Python трябва да бъде лесно да започнете с: Python 2 или Python 3. Е, не е кой знае какъв дебат, тъй като всяка една от версиите има справедлив дял от плюсове и минуси , Преди да се потопим в разликите между двете, трябва да отбележите, че Python 3 е следващото поколение на езика, което предстои да замени версията 2 до 2020 г. Въпреки това, Python 2.7 е все още най-широко използваният език сред общността Python. Python 3 несъмнено е бъдещето на Python, докато някои програмисти се придържат към Python 2.7 поради ограничената поддръжка на библиотеки и пакети, които са ограничени само до версия 2. Нека проучим подробно разликата между тях.
Python е концептуализиран в края на 80-те години и неговото прилагане започва през 1989 г. от Guido van Rossum, който след това работи по проект, наречен „Amoeba“ в CWI Холандия, Амстердам. Python 2.0 беше пуснат на 16тата Октомври 2000 г. с нова техническа спецификация, наречена предложение за подобряване на Python (PEP), заедно с някои допълнителни функции като разбиране на списъка, повишена поддръжка на Unicode, система за събиране на боклук за откриване на цикли и други. Той продължи да се развива с течение на времето с актуализирани версии, които допълнително добавят функционалности към програмния език с версия 2.7.
Python 3 е следващото поколение на програмния език, издадено през декември 2008 г., заедно с няколко нови подобрения и функции, включително някои оттеглени функции. Версията е напълно различна от своите предшественици и в момента се разработва за замяна на версия 2.7. Версията 3 беше пусната за справяне със проблемите със сигурността и недостатъците на дизайна в предишните версии, като по този начин премахна излишността. Малко от основните промени в Python 3 включват промяна на изявлението за печат във вградена функция, подобрено цяло деление, по-добра поддръжка на Unicode и други.
Python 2.0 беше пуснат в края на 2000 г. като по-прозрачен и универсален процес на развитие на езика, за да измести своите предшественици, благодарение на някои допълнителни функции, като разбиране на списъците и система за събиране на боклука. Процесът на развитие стана по-прозрачен, подкрепен от общността с пускането на Python 2.2. Въпреки това, тъй като езиците за програмиране се развиват с течение на времето, така и неговата функционалност, която в крайна сметка създава проблеми на разработчиците. В резултат на това Python версия 3 излиза 2008 г. в края на 2008 г., за да се справи с недостатъците на дизайна в предишните версии.
Една от основните разлики между Python версия 2 и версия 3 е начинът, по който работи декларацията за печат. Същият скрипт няма да се изпълнява и в двете версии едновременно. В Python 2.0 синтаксисът за печат се третира като оператор, а не като функция, която не изисква текст да бъде обвит в допълнителна двойка скоби. В Python 3 обаче print () изрично се третира като функция, която е съвместима и с версия 2.7, което означава също, че текстът, който трябва да бъде отпечатан, трябва да бъде обвит в скоби или ще получите грешка в синтаксиса.
Разделянето на две цели числа в Python 2.0 винаги ще връща цяло число и прерязва десетичното число, което се нарича цяло число. Най-просто казано, Python 2.0 третира цифрите след десетичните знаци като цели числа, което води до деление на пода. Например, ако напишете израза 5/2 в Python 2, той ще върне 2 като резултат вместо 2.5. Той просто връща цяло число до най-близкото цяло число. Въпреки това, Python 3 ще върне 2,5 в резултат, което прави целочисленото разделение по-интуитивно и лесно за използване, особено за начинаещи.
Текстът се представя с помощта на два типа низове в Python: Unicode Strings или Bytes. Unicode е международният стандарт за кодиране на символи, а низът Unicode е структура от данни на езика на Python, използвана за съхраняване на текст, докато байтовете се използват за съхраняване на произволни двоични данни. В Python 2 всеки отделен низ Unicode трябва да бъде маркиран с префикс “u”, тъй като използва ASCII символи по подразбиране, което не е толкова гъвкаво като Unicode кодиране. Въпреки това, Python 3 съхранява низове като Unicode по подразбиране, които са по-универсални от ASCII низовете.
Функцията „xrange“ на Python 2 не съществува в Python 3, тъй като е оттеглена и заменена с „range ()“ във версия 3. Функцията за обхват е по-мощна от xrange на Python 2, което я прави по-бърза, когато итерация над една и съща последователност многократно. Функцията за диапазон се държи като функцията xrange на версия 2.0. Въпреки това, едно от основните предимства на функцията xrange е, че обектът xrange винаги заема същото количество памет, независимо от размера на диапазона, който представлява.
Python е универсален език за програмиране на високо ниво, използван за програмиране с общо предназначение и е лесен за научаване, без значение дали сте избрали да работите или с Python версия 2.0, или с версия 3. Това е трудно решение както за общността, така и за начинаещите да преминете от Python 2 към Python 3. Въпреки че и двете версии споделят някои прилики по отношение на функционалността, те не трябва да се третират като напълно взаимозаменяеми, тъй като преходът е на път да се случи, по един или друг начин. Въпреки че Python 2 е по-старият и все още най-популярният език за програмиране сред общността, Python 3 е езикът на следващото поколение, който може да остане.