Maqolada Python dasturlash tilining 2 va 3 versiyalari solishtiriliv ularning imkoniyatlari qarab chiqilgan.
Kalit so’zlar: python, python 3, programming, dasturlash.
В статье рассматривается различие между версиями языка программирование Python-2 и -3.
Ключевые слова: python, python-3, programming, программирование.
Dasturlash hamjamiyatida Pythonning qaysi versiyasidan yaxshiroq foydalanish to'g'risida juda ko'p tortishuvlar bo'lgan: Python 2 yoki Python 3.
Endi 2020 yilda bu aniq: Python 3 yangi boshlanuvchilar yoki bilimlarini yangilashni istaganlar uchun eng yaxshi variant. Bu yerda biz Python 3 nima uchun yaxshiroq ekanligini va nima uchun ko'pchilik kompaniyalar Python 2 dan 3 gacha ommaviy ravishda ko'chib o'tayotganini ko'rib chiqamiz.
Uchinchi versiyaning ravshan ustunligiga qaramay, tilning ikkinchi versiyasidan foydalanish yanada foydali va mazmunli bo'lgan holatlar mavjud.
Python 2 va Python 3 ning potentsial xususiyatlarini va ular orasidagi asosiy farqlarni ko'rib chiqishdan oldin, Python 2 va 3 ning qisqacha tarixidan boshlaymiz:
- Python 2.0 2000 yilda chiqarilgan. Uning so'nggi versiyasi 2.7 2010 yilda chiqarilgan.
- Python 3.0 2008 yilda chiqarilgan. Uning so'nggi 3.6 versiyasi 2016 yilda chiqarilgan va 3.8 versiyasi 2019 yil dekabrida mavjud bo'lgan.
- Python 2.7 hali ham keng qo'llanilgan bo'lsa-da, Python 3 ni qabul qilish tez sur'atlar bilan o'sib bormoqda. 2016 yilda 71,9 % loyihalar Python 2.7 dan foydalangan bo'lsa, 2017 yilga kelib bu ko'rsatkich 63,7 % gacha kamaydi. Bu shuni ko'rsatadiki, dasturlarni ishlab chiqishda ishlab chiquvchilar hamjamiyati tobora Python 3 ga murojaat qilmoqda.
Python 2 versiyasi
2000 yil oxirida chiqarilgan Python 2 PEP (Python Enhancement Proposal) dasturiga ega Pythonning oldingi versiyalariga qaraganda ancha shaffof va inklyuziv tillarni ishlab chiqish jarayonini e'lon qildi. Texnik spetsifikatsiya Python hamjamiyati a'zolariga ma'lumot va tilning yangi xususiyatlarini taqdim etdi.
Python 2 ko'plab boshqa dasturiy xususiyatlarni o'z ichiga olgan, masalan, xotira boshqaruvini avtomatlashtirishga mo'ljallangan aylana shaklidagi axlat yig'uvchi va belgilar standartlashtirish va ro'yxat tuzish uchun keng Unicode-ni qo'llab-quvvatlash.
Python 2 rivojlanishda davom etar ekan, ko'proq xususiyatlar qo'shildi, jumladan Python turlari va sinflarini Python 2.2 da bitta ierarxiyaga birlashtirish.
Python 3 versiyasi
Ayni paytda Python 3 Pythonning kelajagi deb hisoblanadi va u hali ham ishlab chiqilayotgan versiyasidir. Uchinchi versiyasi 2008 yil oxirida tilning oldingi versiyalaridagi ichki dizayndagi kamchiliklarni bartaraf etish maqsadida chiqarildi.
Python 3 kod bazasini tozalashga va ortiqcha ishlarni olib tashlashga qaratilgan bo'lib, muammoni hal qilishning faqat bitta usulini qoldirdi. Bosib chiqarish buyrug'i ichki funktsiyaga aylandi. Butun sonlarni ajratish usuli ham yaxshilandi va Unicode-ni yaxshiroq qo'llab-quvvatlash ta'minlandi.
Dastlab Python 3 asta-sekin qabul qilindi, chunki bu til Python 2 bilan mos kelmasligi tufayli odamlar tilning qaysi versiyasidan foydalanishni hal qilishlari kerak edi. Bundan tashqari, ko'plab paketli kutubxonalar faqat 2-versiya uchun mavjud edi, ammo Python 3 ishlab chiquvchilar jamoasi Python 2-ni qo'llab-quvvatlash 2020 yil 1-yanvarda tugashini aytganligi sababli, kutubxonalarning aksariyati Python 3-ga ko'chirildi. 3-versiyani kengroq qabul qilish mumkin hozirda Python 3-ni qo'llab-quvvatlaydigan paketlar sonidan kelib chiqib, yozish paytida 360 dan ortiq paketlarni o'z ichiga oladi.
Python 2 va Python 3 o'rtasidagi asosiy farqlar
Python dasturlashning ushbu versiyalari o'rtasida juda ko'p farqlar mavjud, ammo beshta asosiy variant.
- Python 2 standart, Python 3 kelajakdir Python 2 o'n besh yildan beri eng ommabop versiyasi bo'lganligi sababli, ba'zi dastur ishlab chiqaruvchilar orasida hali ham dolzarb bo'lib qolmoqda. Ammo, endi ko'plab kompaniyalar uchinchi versiyadan foydalanishga o'tmoqdalar, shuning uchun yangi boshlanuvchilar bunga e'tibor berishlari kerak. Bugungi kunda Pythonning ikkinchi versiyasini o'rganish allaqachon vaqtni yo'qotishdir.
- Python 2 va Python 3 turli xil (ba'zan mos kelmaydigan) kutubxonalarga ega Bugungi kunda ko'plab ishlab chiquvchilar kutubxonalarni faqat uchinchi qism bilan ishlatish uchun yaratadilar. Xuddi shunday, Python 2 uchun qurilgan ko'plab eski kutubxonalar orqaga qarab mos kelmaydi. Siz 2.x kutubxonasini 3.x-ga ko'chirishingiz mumkin, ammo bu qiyin va ko'p vaqt talab qilishi mumkin — bu, albatta, boshlang'ich darajasi emas.
- Python 3-da yaxshiroq Unicode-ni qo'llab-quvvatlash Python 3-da matn satrlari sukut bo'yicha Unicode hisoblanadi. Python 2 satrlarni sukut bo'yicha ASCII sifatida saqlaydi — agar siz satrlarni Python 2.x da Unicode sifatida saqlamoqchi bo'lsangiz, «u«qo'shishingiz kerak.
u"Salom, dunyo!"
Bu juda muhim, chunki Unicode ASCIIga qaraganda ko'proq qirrali. Unicode satrlari chet tillaridagi harflarni, lotin harflari va raqamlarini, belgilar, smayliklar va boshqalarni saqlashi mumkin, bu esa foydalanuvchiga ko'proq tanlov imkoniyatini beradi.
- Python 3 butun sonli bo'linishni yaxshiladi Python 2-da, agar siz butun sonni yozsangiz (o'nli kasrdan keyin raqamlarsiz), bu sizning hisob-kitobingizni eng past pastki raqamga qadar yaxlitlaydi:
a = 5/2 print a 2
Aniq javobni olish uchun ushbu formulani 5.0 / 2.0 deb yozishingiz kerak bo'ladi
Biroq, Python 3-da, ibora kutilgan natijani qaytaradi:
b = 5/2 print (b) 2.5
Shunday qilib, qo'shimcha nollarni qo'shishdan tashvishlanmasdan ishlashingiz mumkin. Aynan shu yaxshilanishlar barcha yangi boshlanuvchilar uchun dasturlash tilini o'rganishni osonlashtiradi.
- Versiyalar turli xil sintaksisga ega «bosib chiqarish» Bu shunchaki sintaktik farq, ba'zilari buni asosiy emas deb hisoblashlari mumkin, ammo bu haqda bilish foydalidir. Asosan, Python 3-da, chop etish operatori print() funktsiyasi bilan almashtirilgan.
Masalan, Python 2-da:
print "Salom, dunyo!"
va Python 3 da:
print ("Salom, dunyo!")
Agar siz Python dasturlashni birinchi marta o'rganmoqchi bo'lsangiz, bu sizni juda ajablantirmasligi kerak. Agar siz ilgari Python 2 bilan ishlagan bo'lsangiz, o'zgarishlar chalkash bo'lishi mumkin.
Avval aytib o'tganimizdek, aksariyat kompaniyalar ba'zi sabablarga ko'ra Python 2-dan foydalanadilar, ammo ko'proq tashkilotlar 2-versiyadan 3-versiyaga o'tishni boshlaydilar. Keling, Instagram va Facebook misollarini ko'rib chiqamiz — Python 2 dan 3 ga o'tgan yoki hozirda (ma'lum modullar uchun) ushbu jarayonda bo'lgan jamoalar va nima uchun ular buni qilishga qaror qilishdi.
Instagram 2017 yilda o'zlarining aksariyat kodlarini Python 2.7 dan Python 3 ga ko'chirgan. Buning sabablari:
– Python an'anaviy ravishda terilgan til emas, ammo Python 3.5 matn terishni qo'llab-quvvatlaydi, bu kodning yangi qismlari bilan ishlashda rivojlanish ziddiyatlarini yo'q qiladi.
– Pythonning har bir yangi versiyasi tezroq ishlashda davom etmoqda. Ayni paytda, hech kim Python 2.7-ni tezlashtirish uchun ishlamaydi.
– Python 3-ni yanada yaxshiroq qo'llab-quvvatlash tartibi mavjud.
Hozirda Facebook Facebook o'zining infratuzilmasi va ma'lumotlar tizimlarini Python 2 dan Python 3 ga yangilash jarayonida.
RealPython ma'lumotlariga ko'ra: Python kutubxonalaridan foydalanish qulayligi shuni anglatadiki, ishlab chiqarish muhandislari juda ko'p kod yozishlari yoki saqlashlari shart emas, bu esa loyihani optimallashtirishga e'tibor berishlariga imkon beradi.
Shuningdek, u Facebook infratuzilmasini samarali ravishda kengaytirish imkoniyatini beradi.
Eng sodda va qisqa javob so'nggi versiyadan. Yangilanishlar doimiy ravishda chiqariladi va eski versiyalarning ruhlarini ta'qib qilish mantiqsiz. Python 3-da kiritilgan o'zgarishlarning aksariyati soddalashtirishga qaratilgan, shuning uchun yangi kelganlar ushbu yangiliklarni yaxshi ko'rishadi, ular o'quv jarayonini osonlashtiradi.
Muhim haqiqat shuki, 2020 yil aprel oyidan boshlab 2.7 versiyasi endi qo'llab-quvvatlanmaydi, shuning uchun bir necha oydan kamroq vaqt ichida ahamiyatsiz bo'lib qoladigan texnologiyani o'rganishni boshlash mantiqsiz. Haqiqat shundaki, dolzarblik asta-sekin pasayib boradi, ammo yaqin kelajakda bu jarayon muqarrar.
Adabiyot:
- Лутц М. Изучаем Python, 4-е издание. — Пер. с англ. — СПб.: Символ-Плюс, 2011. — 1280 с.
- Гэддис Т. Начинаем программировать на Python. — 4-е изд.: Пер. с англ. — СПб.: БХВ-Петербург, 2019. — 768 с.
- Пилгрим Марк. Погружение в Python 3 (Dive into Python 3 на русском)
- Златопольский Д. М. Основы программирования на языке Python. — М.: ДМК Пресс, 2017. — 284 с.