Python (dasturlash tili) – Python (programming language)

Python (dasturlash tili) – Python (programming language)

Python-ning har xil turlari mavjud torli harflar:
  • Bir yoki ikkita tirnoq belgilari bilan ajratilgan qatorlar. Dan farqli o’laroq Unix chig’anoqlari, Perl va Perl ta’sirida bo’lgan tillar, bitta tirnoq va ikkita tirnoq belgilari bir xil ishlaydi. Ikkala turdagi iplar teskari chiziqdan foydalanadi ( ) sifatida qochish xarakteri. String interpolatsiyasi Python 3.6-da “formatlangan satr harflari” sifatida mavjud bo’ldi. [86]
  • Uchta tirnoqli satrlar, ular uchta bitta yoki ikkita tirnoq belgilarining ketma-ketligi bilan boshlanadi va tugaydi. Ular bir nechta qatorlarni qamrab olishi va shunga o’xshash ishlashi mumkin bu erda hujjatlar qobiqlarda, Perl va Yoqut.
  • Xom ip mag’lubiyatga an bilan old qo’shimchasi bilan belgilangan navlar r . Qochish ketma-ketligi talqin qilinmaydi; shuning uchun to’g’ridan-to’g’ri teskari burilishlar tez-tez uchraydigan joyda, masalan, xom iplar foydalidir doimiy iboralar va Windows – uslub yo’llari. Taqqoslash ” @ – kotirovka ” C #.

Pythonda, masalan, tillardan farqli o’laroq, iboralar va iboralar orasidagi farq qat’iyan amalga oshiriladi Umumiy Lisp, Sxema, yoki Yoqut. Bu ba’zi bir funktsiyalarni takrorlashga olib keladi. Masalan:

  • Tushunishlarni ro’yxatlash va boshqalar uchun – ilmoqlar
  • Shartli iboralar va boshqalar agar bloklar
  • The eval () va boshqalar exec () o’rnatilgan funktsiyalar (Python 2-da, exec bayonotdir); birinchisi iboralar uchun, ikkinchisi iboralar uchun.

Bayonotlar ifodaning bir qismi bo’lishi mumkin emas, shuning uchun ro’yxat va boshqa tushunchalar yoki lambda iboralari, barcha iboralar, bayonotlarni o’z ichiga olmaydi. Kabi alohida topshiriq bayonoti a = 1 shartli gapning shartli ifodasi tarkibiga kira olmaydi. Buning afzalligi shundaki, topshiriq operatorini adashtirishda klassik C xatosidan qochish mumkin = tenglik operatori uchun == sharoitda: agar (c = 1) <.>sintaktik jihatdan yaroqli (lekin ehtimol mo’ljallanmagan) C kodi, lekin agar c = 1: . Python-da sintaksis xatosini keltirib chiqaradi.

Usullari

Usullari ob’ektlar bo’yicha funktsiyalari ob’ekt sinfiga biriktirilgan; sintaksis examplethod (argument) normal usullar va funktsiyalar uchun, sintaktik shakar uchun Classthod (misol, argument) . Python usullari aniq o’zini o’zi kirish uchun parametr misol ma’lumotlari, yopiqdan farqli o’laroq o’zini o’zi (yoki bu ) ba’zi boshqa ob’ektga yo’naltirilgan dasturlash tillarida (masalan, C ++, Java, Maqsad-C, yoki Yoqut ). [87]

Yozish

Python 3-dagi standart turdagi ierarxiya

Python foydalanadi o’rdak terish va moslamalarni yozgan, ammo nomlanmagan o’zgaruvchilar nomlari. Turi cheklovlari tekshirilmaydi vaqtni tuzish; aksincha, ob’ektdagi operatsiyalar muvaffaqiyatsiz bo’lishi mumkin, bu berilgan ob’ekt mos turdagi emasligini bildiradi. Bo’lishiga qaramay dinamik ravishda terilgan, Python qattiq yozilgan, jimgina ularni tushunishga urinishdan ko’ra, aniq belgilanmagan operatsiyalarni taqiqlash (masalan, qatorga qator qo’shish).

Python dasturchilarga o’z turlarini aniqlashga imkon beradi sinflar, ko’pincha ishlatiladi ob’ektga yo’naltirilgan dasturlash. Yangi misollar sinflar sinfni chaqirish orqali tuziladi (masalan, SpamClass () yoki EggsClass () ) va sinflar. ning misollari metaklass turi (o’zi o’zi bir misol), ruxsat berish metaprogramma va aks ettirish.

3.0 versiyasidan oldin Python ikki xil sinfga ega edi: eski uslub va yangi uslub. [88] Ikkala uslubning sintaksisi bir xil, farq sinf bo’ladimi ob’ekt to’g’ridan-to’g’ri yoki bilvosita meros qilib olinadi (barcha yangi uslubdagi sinflar ob’ekt va misollari turi ). Python 2.2 versiyasidan boshlab Python 2 versiyalarida ikkala turdagi sinflardan foydalanish mumkin. Eski uslubdagi darslar Python 3.0 da bekor qilindi.

Uzoq muddatli reja – qo’llab-quvvatlash asta-sekin terish [89] va Python 3.5 dan tilning sintaksisi statik turlarni belgilashga imkon beradi, ammo ular CPython standart dasturida tekshirilmaydi. Nomli eksperimental ixtiyoriy statik tip tekshiruvi mypy kompilyatsiya vaqtini tekshirishni qo’llab-quvvatlaydi. [90]

"" "Spanningbir nechtachiziqlar "" "

^ a Ism bilan to’g’ridan-to’g’ri kirish mumkin emas

Arifmetik amallar

Pythonda arifmetik operatorlar uchun odatiy belgilar mavjud ( + , – , * , / ), polni ajratish operatori // va modulli ishlash % (bu erda qoldiq salbiy bo’lishi mumkin, masalan. 4 % -3 == -2 ). Bundan tashqari, bor ** uchun eksponentatsiya, masalan. 5**3 == 125 va 9**0.5 == 3.0 va matritsani ko’paytirish operatori @ . [94] Ushbu operatorlar an’anaviy matematikadagi kabi ishlaydi; xuddi shu bilan ustunlik qoidalari, operatorlar infiks ( + va – bo’lishi mumkin unary mos ravishda manfiy va manfiy sonlarni ifodalash uchun).

Butun sonlar orasidagi bo’linish suzuvchi nuqta natijalarini beradi. Vaqt o’tishi bilan bo’linish harakati sezilarli darajada o’zgardi: [95]

  • Python 2.1 va undan oldingi versiyada C ning bo’linish harakati ishlatilgan. The / operatori, agar ikkala operand ham butun bo’lsa, aks holda suzuvchi nuqta bo’linmasi. Butun sonli bo’linish 0 ga to’g’ri keladi, masalan. 7 / 3 == 2 va – 7 / 3 == – 2 .
  • Python 2.2 butun sonli bo’linishni salbiy cheksizlik tomon aylanishga o’zgartirdi, masalan. 7/3 == 2 va -7/3 == -3 . Zamin bo’limi // operatori joriy etildi. Shunday qilib 7//3 == 2 , -7//3 == -3 , 7.5//3 == 2.0 va -7.5//3 == -3.0 . Qo’shilmoqda dan nilufar__ Import bo’linish bo’linish uchun modul Python 3.0 qoidalarini ishlatishiga olib keladi (keyingisini ko’ring).
  • Python 3.0 o’zgartirildi / har doim suzuvchi nuqta bo’linishi, masalan. 5 / 2 == 2.5 .

Python tilida / bu haqiqiy bo’linish (yoki oddiygina) bo’linish) va // bu polni ajratish. / 3.0 versiyasidan oldin klassik bo’linish. [95]

Salbiy cheksizlik tomon yaxlitlash, aksariyat tillardan farqli bo’lsa ham, izchillikni oshiradi. Masalan, bu tenglama degani ( a + b ) // b == a // b + 1 har doim ham to’g’ri. Bundan tashqari, bu tenglama degani b * ( a // b ) + a % b == a ning ijobiy va salbiy qiymatlari uchun amal qiladi a . Biroq, ushbu tenglamaning haqiqiyligini saqlab qolish, natijada degan ma’noni anglatadi a% b kutilganidek, yarim ochiq oraliq [0, b), qaerda b musbat tamsayı, u intervalda yotishi kerak (b, 0] qachon b salbiy. [96]

Python a beradi dumaloq uchun funktsiya yaxlitlash eng yaqin butun songa suzuvchi. Uchun galstuk taqish, Python 3 foydalanadi dumaloq: dumaloq (1,5) va dumaloq (2,5) ikkalasi ham ishlab chiqaradi 2 . [97] 3 dan oldingi versiyalar ishlatilgan noldan dumaloq masofaga: dumaloq (0,5) bu 1.0 , dumaloq (-0.5) bu −1.0 . [98]

Python matematikada umumiy foydalanishga mos keladigan tarzda ko’p tenglik munosabatlari bilan mantiqiy ifodalarga ruxsat beradi. Masalan, ifoda a yo’qligini tekshiradi a dan kam b va b dan kam v . [99] C tilidan olingan tillar ushbu ifodani turlicha talqin qiladilar: C tilida ibora avvalo baho beradi a , natijada 0 yoki 1 bo’ladi va bu natija bilan taqqoslanadi v . [100]

Python foydalanadi ixtiyoriy aniqlikdagi arifmetika butun sonli amallar uchun. The O’nli turi / klassi o‘nli kasr modul o’nlik suzuvchi nuqta raqamlarini oldindan belgilangan o’zboshimchalik aniqligi va bir nechta yaxlitlash rejimlari bilan ta’minlaydi. [101] The Fraksiya sinf kasrlar moduli o’zboshimchalik bilan aniqlikni ta’minlaydi ratsional sonlar. [102]

Pythonning keng matematik kutubxonasi va uchinchi tomon kutubxonasi tufayli NumPy mahalliy imkoniyatlarni yanada kengaytiradigan, bu raqamli ma’lumotlarni qayta ishlash va manipulyatsiya kabi muammolarga yordam berish uchun tez-tez ilmiy skript tili sifatida ishlatiladi. [103] [104]

Dasturlash misollari

chop etish('Salom Dunyo!')

Hisoblash uchun dastur faktorial musbat butun son:

n = int(kiritish('Raqamni kiriting va uning faktoriali chop etiladi:'))agar n  0: oshirish ValueError('Siz manfiy bo'lmagan butun sonni kiritishingiz kerak')haqiqat = 1uchun men yilda oralig'i(2, n + 1): haqiqat *= menchop etish(haqiqat)

Kutubxonalar

Python katta standart kutubxona, odatda uning eng kuchli tomonlaridan biri sifatida keltirilgan, [105] ko’plab vazifalarga mos keladigan vositalarni taqdim etadi. Internetga qarashli dasturlar uchun ko’plab standart format va protokollar kabi MIME va HTTP qo’llab-quvvatlanadi. U yaratish uchun modullarni o’z ichiga oladi grafik foydalanuvchi interfeyslari, ulanish relyatsion ma’lumotlar bazalari, yolg’on tasodifiy raqamlarni yaratish, ixtiyoriy aniqlikdagi o’nlik bilan arifmetik, [106] manipulyatsiya doimiy iboralar va birlik sinovi.

Standart kutubxonaning ba’zi qismlari texnik shartlar bilan ta’minlangan (masalan, Veb-server shlyuz interfeysi (WSGI) amalga oshirish wsgiref PEP 333 ga amal qiladi [107] ), lekin aksariyat modullar bunday emas. Ular kodlari, ichki hujjatlari va sinov xonalari. Biroq, standart kutubxonaning aksariyati o’zaro faoliyat platformali Python kodi bo’lganligi sababli, faqat bir nechta modulda variantni amalga oshirish uchun o’zgartirish yoki qayta yozish kerak.

2019 yil noyabr oyidan boshlab, [yangilash] The Python to’plami indeksi (PyPI), uchinchi tomon Python dasturiy ta’minotining rasmiy ombori, 200,000 dan oshiqni o’z ichiga oladi [108] keng funktsional imkoniyatlarga ega paketlar, jumladan:

  • Avtomatlashtirish
  • Ma’lumotlarni tahlil qilish
  • Ma’lumotlar bazalari
  • Hujjatlar
  • Grafik foydalanuvchi interfeyslari
  • Rasmga ishlov berish
  • Mashinada o’qitish
  • Mobil ilova
  • Multimedia
  • Tarmoq
  • Ilmiy hisoblash
  • Tizim ma’muriyati
  • Sinov ramkalari
  • Matnni qayta ishlash
  • Veb-ramkalar
  • Internetda qirib tashlash[109]

Rivojlanish muhiti

Shuningdek qarang: Integratsiyalashgan rivojlanish muhitlarini taqqoslash § Python

Ko’pgina Python dasturlari (shu jumladan CPython) a ni o’z ichiga oladi o’qish-baholash-chop etish davri (REPL), ularga a sifatida ishlashga ruxsat beradi buyruq satri tarjimoni buning uchun foydalanuvchi bayonotlarni ketma-ket kiritadi va darhol natijalarni oladi.

Boshqa chig’anoqlar, shu jumladan IDLE va IPython, takomillashtirilgan avtomatik yakunlash, sessiya holatini saqlab qolish va boshqa qobiliyatlarni qo’shing sintaksisni ajratib ko’rsatish.

Shuningdek, standart ish stoli birlashgan rivojlanish muhiti, lar bor Veb-brauzer – asoslangan IDElar; SageMath (fan va matematikaga oid Python dasturlarini ishlab chiqish uchun mo’ljallangan); PythonAnywhere, brauzerga asoslangan IDE va ​​xosting muhiti; va Canopy IDE, bu Python IDE-ni ta’kidlaydi ilmiy hisoblash. [110]

Amaliyotlar

Shuningdek qarang: Python dasturlari ro’yxati § Python dasturlari

Malumotni amalga oshirish

CPython bo’ladi ma’lumotnomani amalga oshirish Python. Bu yozilgan C, uchrashuv C89 bir nechta tanlov bilan standart C99 Xususiyatlari. [111] U Python dasturlarini qidiruv tizimga to’playdi bayt kodi [112] keyinchalik u tomonidan amalga oshiriladi virtual mashina. [113] CPython C va native Python aralashmasida yozilgan katta standart kutubxona bilan tarqatiladi. Bu ko’plab platformalarda, shu jumladan mavjud Windows (Python 3.9.1 versiyasidan beri Python “faol ravishda o’rnatishga ruxsat bermaydi Windows 7 “; [114] va qo’llab-quvvatladi Windows XP va undan kattaroq, hozirgacha qo’llab-quvvatlanmaydigan Python 2.7) va eng zamonaviy Unixga o’xshash tizimlar, shu jumladan macOS (va Apple M1 Maclar, Python 3.9.1 dan beri, eksperimental o’rnatish bilan) va masalan, norasmiy qo’llab-quvvatlash. VMS. [115] Platformani ko’chirish uning eng ustuvor yo’nalishlaridan biri edi, [116] Python 1 va 2 vaqt oralig’ida, hatto qo’llab-quvvatlaydi OS / 2 va Solaris; [117] O’shandan beri ko’plab platformalar uchun qo’llab-quvvatlash bekor qilindi.

Boshqa dasturlar

PyPy Python 2.7 va 3.6 ning tezkor, mos keladigan tarjimoni. [118] Uning hozirda kompilyator CPython-ga nisbatan tezlikni sezilarli darajada yaxshilaydi, ammo u bilan C-da yozilgan bir nechta kutubxonalardan foydalanish mumkin emas. [119] [120]

Stackless Python amalga oshiradigan CPythonning muhim vilkasi mikrotexnika; u C xotira to’plamidan foydalanmaydi va shu bilan birgalikda bir vaqtda dasturlarga imkon beradi. PyPy-ning stackless versiyasi ham mavjud. [121]

MicroPython va O’chirishPython Python 3 variantlari optimallashtirilgan mikrokontrollerlar. Bunga quyidagilar kiradi Lego Mindstorms EV3. [122]

Qo’llab-quvvatlanmaydigan dasturlar

Ayni paytda Python-ning boshqa kompilyatorlari ishlab chiqilgan, ammo hozir qo’llab-quvvatlanmaydi:

  • Google nomli loyihani boshladi Yuksiz qaldirg’och dan foydalanib, Python tarjimonini besh marta tezlashtirish maqsadida 2009 yilda LLVM va minglab yadrolarni kattalashtirish uchun uning ko’p qirrali qobiliyatini takomillashtirish, [123] oddiy dasturlar esa aziyat chekmoqda global tarjimonni qulflash.
  • Psyco edi a ayni vaqtidaixtisoslashgan CPython bilan birlashtiradigan va bayt kodini ish vaqtida mashina kodiga o’zgartiradigan kompilyator. Chiqarilgan kod, albatta, ixtisoslashgan ma’lumotlar turlari va standart Python kodidan tezroq.

2005 yilda, Nokia uchun Python tarjimonini chiqardi 60-seriya nomli mobil telefonlar PyS60. U CPython dasturlaridan ko’plab modullarni va .ga qo’shilish uchun ba’zi qo’shimcha modullarni o’z ichiga oladi Simbiyan operatsion tizim. Loyiha S60 platformasining barcha variantlarida ishlash uchun dolzarb bo’lib qoldi va bir nechta uchinchi tomon modullari mavjud. Nokia N900 shuningdek Python-ni qo’llab-quvvatlaydi GTK dasturlarni yozish va maqsadli qurilmada ishlashga imkon beruvchi vidjet kutubxonalari. [124]

Boshqa tillarga o’zaro faoliyat kompilyatorlar

Yuqori darajadagi bir nechta kompilyatorlar mavjud ob’ekt tillari, cheklanmagan Python, cheklangan Python to’plami yoki manba tili sifatida Pythonga o’xshash til bilan:

  • Cython Python-ni kompilyatsiya qiladi C va C ++.
  • Google-ning Grumpy (2017 yildagi so’nggi versiyasi) Python 2-ni tuzadi Boring. [125][126]
  • IronPython -da Python dasturlarini ishga tushirish uchun shunga o’xshash yondashuvga amal qiladi Umumiy til ishlash vaqti.
  • Jython Java sinf kutubxonasini Python dasturidan foydalanishga imkon beradi.
  • MyHDL Python-ni kompilyatsiya qiladi VHDL.
  • Nuitka Python-ni C ++ tiliga kompilyatsiya qiladi. [127]
  • Numba foydalanadi LLVM Python-ni kompyuter kodiga kompilyatsiya qilish.
  • Pyjlar (so’nggi nashr 2012 yilda) Python-ni tuzadi JavaScript.
  • Pireks (so’nggi nashr 2010 yilda) va Terini to’kib tashlang (2013 yildagi eng so’nggi versiyasi) navbati bilan C va C ++ ga tuziladi.
  • Pitran Python-ni kompilyatsiya qiladi C ++. [128][129]
  • RPython uchun tuzilishi mumkin C va Python-ning PyPy tarjimonini yaratish uchun ishlatiladi.

Ishlash

Raqamli bo’lmagan (kombinatorial) ish yuki bo’yicha Python-ning turli xil dasturlarini ishlash taqqoslash EuroSciPy ’13 da taqdim etildi. [130] Pythonning ishlashi boshqa dasturlash tillari bilan taqqoslaganda ham etalon bo’ldi Kompyuter tilidagi etalonlar o’yini. [131]

Rivojlanish

Pythonning rivojlanishi asosan orqali amalga oshiriladi Python-ni takomillashtirish bo’yicha taklif (PEP) jarayoni, asosiy yangi xususiyatlarni taklif qilishning asosiy mexanizmi, muammolar bo’yicha jamoatchilik fikrini to’plash va Python dizayn qarorlarini hujjatlashtirish. [132] Python kodlash uslubi PEP 8 da keltirilgan. [133] Python hamjamiyati va boshqaruv kengashi tomonidan taniqli PEPlar ko’rib chiqiladi va sharhlanadi. [132]

Tilni takomillashtirish CPython ma’lumotnomasini ishlab chiqishga mos keladi. Python-dev pochta ro’yxati tilni rivojlantirish uchun asosiy forumdir. Muayyan masalalar muhokama qilinadi Yaxlitlamoq bug tracker joylashtirilgan bugs.python. [134] Rivojlanish dastlab a o’z-o’zini tashkil qiladi manba kodi ombori ishlayapti Mercurial, Python ko’chib o’tguncha GitHub 2017 yil yanvar oyida. [135]

CPython-ning ommaviy nashrlari versiya sonining qaysi qismi ko’paytirilishi bilan ajralib turadigan uchta turga ega:

  • Kod buzilishi kutilayotgan va qo’lda bo’lishi kerak bo’lgan orqaga qarab mos kelmaydigan versiyalar ko’chirilgan. Versiya raqamining birinchi qismi ko’paytiriladi. Ushbu nashrlar kamdan-kam uchraydi – masalan, 3.0 versiyasi 2.0dan 8 yil o’tib chiqarilgan.
  • Asosiy yoki “xususiyatli” nashrlar, taxminan har 18 oyda, asosan mos keladi, ammo yangi xususiyatlarni taqdim etadi. Versiya raqamining ikkinchi qismi ko’paytiriladi. Har bir asosiy versiya chiqarilgandan keyin bir necha yil davomida xato tuzatishlar tomonidan qo’llab-quvvatlanadi. [136]
  • Bugfix versiyalari, [137] hech qanday yangi funktsiyalarni kiritmaydigan, har 3 oyda bir paydo bo’ladi va oxirgi chiqarilishidan boshlab oqim oqimida etarli miqdordagi xatolar tuzatilganda amalga oshiriladi. Ushbu nashrlarda xavfsizlikning zaif tomonlari ham yamalgan. Versiya raqamining uchinchi va oxirgi qismi ko’paytiriladi. [137]

Python 3.9 alfa1 2019 yilning noyabrida e’lon qilingan [138] va har yili chiqariladigan yangi kadans qabul qilinishi bilan, [139] [140] 3.9 ning birinchi versiyasi 2020 yil noyabrga mo’ljallangan. [141]

Ko’pchilik alfa, beta va ozodlikka nomzodlar oldindan ko’rish sifatida va yakuniy nashrlar oldidan sinov uchun chiqarilgan. Har bir chiqish uchun taxminiy jadval mavjud bo’lsa-da, kod tayyor bo’lmasa, ular ko’pincha kechiktiriladi. Python dasturini ishlab chiquvchi guruh katta kodni ishga tushirish orqali kod holatini nazorat qiladi birlik sinovi to’plami ishlab chiqish paytida va BuildBot uzluksiz integratsiya tizim. [142]

Asosiy ilmiy konferentsiya Python-da PyCon. Kabi maxsus Python mentorlik dasturlari ham mavjud Pyladies.

API hujjatlari generatorlari

Python API hujjatlari ishlab chiqaruvchilari quyidagilarni o’z ichiga oladi:

Nomlash

Pythonning nomi ingliz komediya guruhidan olingan Monty Python Python yaratuvchisi Gvido van Rossum tilni rivojlantirish paytida unga yoqdi. Monty Python ma’lumotnomalari Python kodi va madaniyatida tez-tez uchraydi; [143] masalan metasintaktik o’zgaruvchilar ko’pincha Python adabiyotida ishlatiladi Spam va tuxum an’anaviy o’rniga foo va bar. [143] [144] Pythonning rasmiy hujjatlarida Monty Python tartib-qoidalariga turli xil havolalar mavjud. [145] [146]

Prefiks Py- narsa Python bilan bog’liqligini ko’rsatish uchun ishlatiladi. Python dasturlari yoki kutubxonalari nomlarida ushbu prefiksdan foydalanishga misollar keltirilgan Pigame, a majburiy ning SDL Python-ga (odatda o’yinlarni yaratish uchun ishlatiladi); PyQt va PyGTK bog’laydigan Qt va GTK navbati bilan Python-ga; va PyPy, dastlab Python-da yozilgan Python dasturi.

Foydalanadi

Asosiy maqola: Python dasturlarining ro’yxati

2003 yildan beri Python doimiy ravishda eng mashhur dasturlash tillarining o’ntaligiga kiradi TIOBE dasturlash jamoatchilik indeksi qaerda, 2020 yil fevral oyidan boshlab [yangilash] , bu eng mashhur tillar orasida uchinchi o’rinda turadi (ortda Java va C ). [147] 2007, 2010 va 2018 yillarda yilning dasturlash tili tanlangan. [148]

Empirik tadqiqotlar shuni ko’rsatdiki, Python singari stsenariy tillari C va Java kabi odatiy tillarga qaraganda samaraliroq bo’lib, mag’lubiyatni manipulyatsiya qilish va lug’atda qidirishni o’z ichiga olgan dasturlash muammolari va xotira iste’moli ko’pincha “Java-dan yaxshiroq va emas C yoki C ++ dan ancha yomon “. [149]

Python-dan foydalanadigan yirik tashkilotlar kiradi Vikipediya, Google, [150] Yahoo!, [151] CERN, [152] NASA, [153] Facebook, [154] Amazon, Instagram, [155] Spotify [156] va shunga o’xshash ba’zi kichik tashkilotlar ILM [157] va ITA. [158] Ijtimoiy yangiliklar tarmog’i Reddit to’liq Python-da yozilgan. [159]

Python a sifatida xizmat qilishi mumkin skript tili uchun veb-ilovalar, masalan, orqali mod_wsgi uchun Apache veb-server. [160] Bilan Veb-server shlyuz interfeysi, ushbu ilovalarni engillashtirish uchun standart API rivojlandi. Veb-ramkalar kabi Django, Ustunlar, Piramida, TurboGears, web2py, Tornado, Kolba, Shisha va Zope murakkab dasturlarni loyihalash va texnik xizmat ko’rsatishda ishlab chiquvchilarni qo’llab-quvvatlash. Pyjlar va IronPython Ajax-ga asoslangan dasturlarning mijoz tomonlarini ishlab chiqish uchun ishlatilishi mumkin. SQLAlchemy sifatida ishlatilishi mumkin ma’lumotlar xaritasi relyatsion ma’lumotlar bazasiga. Twisted kompyuterlar o’rtasidagi aloqalarni dasturlash uchun asos bo’lib, (masalan) tomonidan ishlatiladi Dropbox.

Kabi kutubxonalar NumPy, SciPy va Matplotlib dan Python-dan samarali foydalanishga ruxsat berish ilmiy hisoblash, [161] [162] kabi ixtisoslashgan kutubxonalar bilan Biopython va Astropiya domenga xos funktsiyalarni ta’minlash. SageMath a matematik dasturiy ta’minot bilan notebook interfeysi Python-da dasturlash mumkin: uning kutubxonasi ko’p jihatlarni qamrab oladi matematika, shu jumladan algebra, kombinatorika, raqamli matematika, sonlar nazariyasi va hisob-kitob. [163] OpenCV uchun python birikmalari mavjud bo’lib, ular uchun boy xususiyatlar to’plami mavjud kompyuterni ko’rish va tasvirni qayta ishlash. [164]

Python ko’plab dasturiy ta’minot mahsulotlariga skript tili sifatida, shu jumladan cheklangan element usuli kabi dasturiy ta’minot Abaqus, 3D parametrli modeler kabi FreeCAD, Kabi 3D animatsiya paketlari 3ds Maks, Blender, Kino 4D, Yengil to’lqin, Xudini, Mayya, modo, MotionBuilder, Softimage, vizual effektlar kompozitori Nuke, 2D tasvirlash dasturlari kabi GIMP, [165] Inkscape, Scribus va Paint Shop Pro, [166] va musiqiy yozuv kabi dasturlar skript muallifi va kapella. GNU tuzatuvchisi Python-ni a sifatida ishlatadi chiroyli printer C ++ konteynerlari kabi murakkab tuzilmalarni ko’rsatish. Esri skriptlarni yozish uchun eng yaxshi tanlov sifatida Python-ni targ’ib qiladi ArcGIS. [167] Bundan tashqari, u bir nechta video o’yinlarda ishlatilgan, [168] [169] va mavjud bo’lgan uchtadan birinchisi sifatida qabul qilingan dasturlash tillari yilda Google App Engine, qolgan ikkitasi Java va Boring. [170]

Python odatda ishlatiladi sun’iy intellekt kabi kutubxonalar yordamida loyihalar va mashinasozlik loyihalari TensorFlow, Keras, Pytorch va Scikit-o’rganing. [171] [172] [173] [174] Bilan skript tili sifatida modulli arxitektura, oddiy sintaksis va boy matnni qayta ishlash vositalari uchun Python ko’pincha ishlatiladi tabiiy tilni qayta ishlash. [175]

Ko’pgina operatsion tizimlarga Python standart komponent sifatida kiradi. U eng ko’p etkazib beradi Linux tarqatish, [176] AmigaOS 4 (Python 2.7 yordamida), FreeBSD (paket sifatida), NetBSD, OpenBSD (paket sifatida) va macOS va buyruq satridan (terminal) foydalanish mumkin. Ko’pgina Linux tarqatish dasturlari Python-da yozilgan: Ubuntu dan foydalanadi Hamma narsa o’rnatuvchi, esa Red Hat Linux va Fedora dan foydalaning Anakonda o’rnatuvchi. Gentoo Linux Python-dan foydalanadi paketlarni boshqarish tizimi, Portage.

Python-dan keng foydalaniladi axborot xavfsizligi sanoat, shu jumladan ekspluatatsiya rivojlanishida. [177] [178]

Ko’pchilik Shakar uchun dasturiy ta’minot Bola boshiga bitta noutbuk XO, hozirda ishlab chiqilgan Shakar laboratoriyalari, Python-da yozilgan. [179] The Raspberry Pi bitta taxtali kompyuter loyihasi Python-ni asosiy dasturlash tili sifatida qabul qildi.

LibreOffice Python-ni o’z ichiga oladi va Java-ni Python-ga almashtirmoqchi. Uning Python Scripting Provayderi asosiy xususiyatdir [180] 2013 yil 7 fevraldan boshlab 4.0 versiyasidan beri.

Python ta’sirida bo’lgan tillar

Python dizayni va falsafasi ko’plab boshqa dasturlash tillariga ta’sir ko’rsatdi:

  • Boo indentatsiya, shunga o’xshash sintaksis va shunga o’xshash ob’ekt modelidan foydalanadi. [181]
  • Kobra indentatsiya va shunga o’xshash sintaksisdan foydalanadi va uning Minnatdorchilik hujjatda Python unga ta’sir ko’rsatgan tillar orasida birinchi o’rinda turadi. [182]
  • CoffeeScript, a dasturlash tili JavaScript-ga o’zaro kompilyatsiya qilingan, Python tomonidan yaratilgan sintaksisga ega.
  • ECMAScript /JavaScript qarz oldi iteratorlar va generatorlar Python-dan. [183]
  • GDScript, o’rnatilgan Python-ga juda o’xshash skript tili Godot o’yin mexanizmi. [184]
  • Boring “Python kabi dinamik tilda ishlash tezligi” uchun mo’ljallangan [185] va massivlarni kesish uchun bir xil sintaksisni baham ko’radi.
  • Groovy Python dizayn falsafasini olib kelish istagi bilan qo’zg’atilgan Java. [186]
  • Yuliya “Python kabi umumiy dasturlash uchun yaroqli” qilib ishlab chiqilgan. [24]
  • Nim indentatsiya va shunga o’xshash sintaksisdan foydalanadi. [187]
  • Yoqut yaratuvchisi, Yukixiro Matsumoto, has said: “I wanted a scripting language that was more powerful than Perl, and more object-oriented than Python. That’s why I decided to design my own language.” [188]
  • Tez, a programming language developed by Apple, has some Python-inspired syntax. [189]

Python’s development practices have also been emulated by other languages. For example, the practice of requiring a document describing the rationale for, and issues surrounding, a change to the language (in Python, a PEP) is also used in Tcl, [190] Erlang, [191] and Swift. [192]

Shuningdek qarang

  • Kompyuter dasturlash portali
  • Bepul va ochiq kodli dasturiy ta’minot portali
  • Python sintaksis va semantikasi
  • pip (paket menejeri)

Adabiyotlar

  1. ^ ab Guttag, John V. (12 August 2016). Introduction to Computation and Programming Using Python: With Application to Understanding Data. MIT Press. ISBN978-0-262-52962-4 .
  2. ^“Python Release Python 3.9.1”. Python. 7 dekabr 2020 yil . Olingan 8 dekabr 2020 .
  3. ^“Python Release Python 3.10.0a3”. Python. 7 dekabr 2020 yil . Olingan 8 dekabr 2020 .
  4. ^“PEP 483 — The Theory of Type Hints”. Python.
  5. ^ File extension .pyo was removed in Python 3.5. Qarang PEP 0488
  6. ^ Holth, Moore (30 March 2014). “PEP 0441 — Improving Python ZIP Application Support” . Olingan 12 noyabr 2015 .
  7. ^“Starlark Language” . Olingan 25 may 2019 .
  8. ^ ab“Why was Python created in the first place?”. General Python FAQ. Python dasturiy ta’minot fondi . Olingan 22 mart 2007 .
  9. ^“Ada 83 Reference Manual (raise statement)”.
  10. ^ Kuchling, Andrew M. (22 December 2006). “Interview with Guido van Rossum (July 1998)”. amk.ca. Arxivlandi asl nusxasi 2007 yil 1 mayda . Olingan 12 mart 2012 .
  11. ^ ab“itertools — Functions creating iterators for efficient looping — Python 3.7.1 documentation”. docs.python.
  12. ^ van Rossum, Guido (1993). “An Introduction to Python for UNIX/C Programmers”. Proceedings of the NLUUG Najaarsconferentie (Dutch UNIX Users Group). CiteSeerX10.1.1.38.2023 . even though the design of C is far from ideal, its influence on Python is considerable.
  13. ^ ab“Sinflar”. The Python Tutorial. Python dasturiy ta’minot fondi . Olingan 20 fevral 2012 . It is a mixture of the class mechanisms found in C++ and Modula-3
  14. ^ Lund, Fredrik. “Ob’ekt bo’yicha qo’ng’iroq”. effbot . Olingan 21 noyabr 2017 . “CLU” ni “Python” bilan, “yozuv” ni “instansiya” bilan va “protsedurani” “funktsiya yoki usul” bilan almashtiring va siz Python ob’ekti modelining juda aniq tavsifini olasiz.
  15. ^ Simionato, Michele. “The Python 2.3 Method Resolution Order”. Python dasturiy ta’minot fondi. The C3 method itself has nothing to do with Python, since it was invented by people working on Dylan and it is described in a paper intended for lispers
  16. ^ Kuchling, A. M. “Functional Programming HOWTO”. Python v2.7.2 documentation. Python dasturiy ta’minot fondi . Olingan 9 fevral 2012 .
  17. ^ Schemenauer, Neil; Peters, Tim; Hetland, Magnus Lie (18 May 2001). “PEP 255 – Simple Generators”. Python Enhancement Proposals. Python dasturiy ta’minot fondi . Olingan 9 fevral 2012 .
  18. ^ Smith, Kevin D.; Jewett, Jim J.; Montanaro, Skip; Baxter, Anthony (2 September 2004). “PEP 318 – Decorators for Functions and Methods”. Python Enhancement Proposals. Python dasturiy ta’minot fondi . Olingan 24 fevral 2012 .
  19. ^“More Control Flow Tools”. Python 3 hujjatlari. Python dasturiy ta’minot fondi . Olingan 24 iyul 2015 .
  20. ^“CoffeeScript”. coffeescript.
  21. ^“The Genie Programming Language Tutorial” . Olingan 28 fevral 2020 .
  22. ^“Perl and Python influences in JavaScript”. www.2ality. 2013 yil 24 fevral . Olingan 15 may 2015 .
  23. ^ Rauschmayer, Axel. “Chapter 3: The Nature of JavaScript; Influences”. O’Reilly, Speaking JavaScript . Olingan 15 may 2015 .
  24. ^ ab“Why We Created Julia”. Julia website. 2012 yil fevral . Olingan 5 iyun 2014 . We want something as usable for general programming as Python [. ]
  25. ^ Ring Team (4 December 2017). “Ring and other languages”. ring-lang. ring-lang.
  26. ^ Bini, Ola (2007). Practical JRuby on Rails Web 2.0 Projects: bringing Ruby on Rails to the Java platform . Berkli: APress. p.3. ISBN978-1-59059-881-8 .
  27. ^ Lattner, Chris (3 June 2014). “Chris Lattner’s Homepage”. Kris Lattner . Olingan 3 iyun 2014 . The Swift language is the product of tireless effort from a team of language experts, documentation gurus, compiler optimization ninjas, and an incredibly important internal dogfooding group who provided feedback to help refine and battle-test ideas. Of course, it also greatly benefited from the experiences hard-won by many other languages in the field, drawing ideas from Objective-C, Rust, Haskell, Ruby, Python, C#, CLU, and far too many others to list.
  28. ^ Kuhlman, Dave. “A Python Book: Beginning Python, Advanced Python, and Python Exercises”. Section 1.1. Arxivlandi asl nusxasi (PDF) 2012 yil 23 iyunda.
  29. ^“About Python”. Python dasturiy ta’minot fondi . Olingan 24 aprel 2012 .
  30. , second section “Fans of Python use the phrase “batteries included” to describe the standard library, which covers everything from asynchronous processing to zip files.”
  31. ^ Peterson, Benjamin (20 April 2020). “Python Insider: Python 2.7.18, the last release of Python 2”. Python Insider . Olingan 27 aprel 2020 .
  32. ^“Python Developer’s Guide — Python Developer’s Guide”. devguide.python . Olingan 17 dekabr 2019 .
  33. ^“History and License” . Olingan 5 dekabr 2016 .
  34. “All Python Releases are Open Source”
  35. ^://redmonk/sogrady/2020/02/28/language-rankings-1-20/
  36. ^://www.wired/story/python-language-more-popular-than-ever/
  37. ^ ab Venners, Bill (13 January 2003). “The Making of Python”. Artima Developer. Artima . Olingan 22 mart 2007 .
  38. ^van Rossum, Guido (29 August 2000). “SETL (was: Lukewarm about range literals)”. Python-Dev (Pochta ro’yxati) . Olingan 13 mart 2011 .
  39. ^ van Rossum, Guido (20 January 2009). “A Brief Timeline of Python”. The History of Python . Olingan 20 yanvar 2009 .
  40. ^ Fairchild, Carlie (12 July 2018). “Guido van Rossum Stepping Down from Role as Python’s Benevolent Dictator For Life”. Linux jurnali . Olingan 13 iyul 2018 .
  41. ^“Guido van Rossum Stepping Down from Role as Python’s Benevolent Dictator For Life | Linux Journal”. www.linuxjournal.
  42. ^“Python boss Guido van Rossum steps down after 30 years”. Surishtiruvchi.
  43. ^“PEP 8100”. piton. Python dasturiy ta’minot fondi . Olingan 4 may 2019 .
  44. ^“PEP 8100”. Python dasturiy ta’minot fondi . Olingan 4 may 2019 .
  45. ^://discuss.python/t/steering-council-nomination-guido-van-rossum-2020-term/2657/11. Yo’qolgan yoki bo’sh sarlavha = (Yordam bering)
  46. ^ Kuchling, A. M.; Zadka, Moshe (16 October 2000). “What’s New in Python 2.0”. Python dasturiy ta’minot fondi . Olingan 11 fevral 2012 .
  47. ^“Python 3.0 Release”. Python dasturiy ta’minot fondi . Olingan 8 iyul 2009 .
  48. ^ van Rossum, Guido (5 April 2006). “PEP 3000 – Python 3000”. Python Enhancement Proposals. Python dasturiy ta’minot fondi. Arxivlandi asl nusxasi 2016 yil 3 martda . Olingan 27 iyun 2009 .
  49. ^“Automated Python 2 to 3 code translation — Python Documentation” . Olingan 11 fevral 2018 .
  50. ^“PEP 373 — Python 2.7 Release Schedule”. python . Olingan 9 yanvar 2017 .
  51. ^“PEP 466 — Network Security Enhancements for Python 2.7.x”. python . Olingan 9 yanvar 2017 .
  52. ^“Sunsetting Python 2”. Python . Olingan 22 sentyabr 2019 .
  53. ^“PEP 373 — Python 2.7 Release Schedule”. Python . Olingan 22 sentyabr 2019 .
  54. ^“Python Developer’s Guide — Python Developer’s Guide”. devguide.python . Olingan 17 dekabr 2019 .
  55. ^ The Cain Gang Ltd. “Python Metaclasses: Who? Why? When?” (PDF) . Arxivlandi asl nusxasi (PDF) 2009 yil 30 mayda . Olingan 27 iyun 2009 .
  56. ^“3.3. Special method names”. Python tili ma’lumotnomasi. Python dasturiy ta’minot fondi . Olingan 27 iyun 2009 .
  57. ^“PyDBC: method preconditions, method postconditions and class invariants for Python” . Olingan 24 sentyabr 2011 .
  58. ^“Contracts for Python” . Olingan 24 sentyabr 2011 .
  59. ^“PyDatalog” . Olingan 22 iyul 2012 .
  60. ^“Extending and Embedding the Python Interpreter: Reference Counts”. Docs.python . Olingan 5 iyun 2020 . Since Python makes heavy use of malloc () va ozod() , it needs a strategy to avoid memory leaks as well as the use of freed memory. The chosen method is called ma’lumotni hisoblash.
  61. ^ ab Hettinger, Raymond (30 January 2002). “PEP 289 – Generator Expressions”. Python Enhancement Proposals. Python dasturiy ta’minot fondi . Olingan 19 fevral 2012 .
  62. ^“6.5 itertools – Functions creating iterators for efficient looping”. Docs.python . Olingan 22 noyabr 2016 .
  63. ^ ab Peters, Tim (19 August 2004). “PEP 20 – The Zen of Python”. Python Enhancement Proposals. Python dasturiy ta’minot fondi . Olingan 24-noyabr 2008 .
  64. ^ Martelli, Alex; Ravenscroft, Anna; Ascher, David (2005). Python Cookbook, 2nd Edition. O’Reilly Media. p. 230. ISBN978-0-596-00797-3 .
  65. ^“Ebeab”. ebeab.
  66. ^“Umumiy Python bilan bog’liq savollar”. Python v2.7.3 documentation. Docs.python . Olingan 4 iyun 2020 .
  67. ^“15 Ways Python Is a Powerful Force on the Web”.
  68. ^“8.18. pprint — Data pretty printer — Python 3.8.3 documentation”. docs.python.
  69. ^ Goodger, David. “Code Like a Pythonista: Idiomatic Python”. Arxivlandi asl nusxasi 2014 yil 27 mayda . Olingan 24 mart 2009 .
  70. ^“How to think like a Pythonista”.
  71. ^“Is Python a good language for beginning programmers?”. General Python FAQ. Python dasturiy ta’minot fondi . Olingan 21 mart 2007 .
  72. ^“Myths about indentation in Python”. Secnetix.de . Olingan 19 aprel 2011 .
  73. ^“Python 2.5 Release”. Python.
  74. ^“Highlights: Python 2.5”. Python.
  75. ^ van Rossum, Guido (22 April 2009). “Tail Recursion Elimination”. Neopythonic.blogspot.be . Olingan 3 dekabr 2012 .
  76. ^ van Rossum, Guido (9 February 2006). “Language Design Is Not Just Solving Puzzles”. Artima forums. Artima . Olingan 21 mart 2007 .
  77. ^ van Rossum, Guido; Eby, Phillip J. (10 May 2005). “PEP 342 – Coroutines via Enhanced Generators”. Python Enhancement Proposals. Python dasturiy ta’minot fondi . Olingan 19 fevral 2012 .
  78. ^“PEP 380”. Python . Olingan 3 dekabr 2012 .
  79. ^“division”. python.
  80. ^“PEP 0465 — A dedicated infix operator for matrix multiplication”. python . Olingan 1 yanvar 2016 .
  81. ^“Python 3.5.1 Release and Changelog”. python . Olingan 1 yanvar 2016 .
  82. ^“What’s New in Python 3.8” . Olingan 14 oktyabr 2019 .
  83. ^“Chapter 15. Expressions – 15.21.1. Numerical Equality Operators == and ! /wiki/Oracle_Corporation” title=”Oracle korporatsiyasi”>Oracle korporatsiyasi . Olingan 28 avgust 2016 .
  84. ^“Chapter 15. Expressions – 15.21.3. Reference Equality Operators == and ! reference-accessdate”>. Olingan 28 avgust 2016 .
  85. ^ van Rossum, Guido; Hettinger, Raymond (7 February 2003). “PEP 308 – Conditional Expressions”. Python Enhancement Proposals. Python dasturiy ta’minot fondi . Olingan 13 iyul 2011 .
  86. ^“4. Built-in Types — Python 3.6.3rc1 documentation”. python . Olingan 1 oktyabr 2017 .
  87. ^“5.3. Tuples and Sequences — Python 3.7.1rc2 documentation”. python . Olingan 17 oktyabr 2018 .
  88. ^ ab“PEP 498 — Literal String Interpolation”. python . Olingan 8 mart 2017 .
  89. ^“Why must ‘self’ be used explicitly in method definitions and calls?”. Design and History FAQ. Python dasturiy ta’minot fondi . Olingan 19 fevral 2012 .
  90. ^“The Python Language Reference, section 3.3. New-style and classic classes, for release 2.7.1” . Olingan 12 yanvar 2011 .
  91. ^“Type hinting for Python”. LWN. 2014 yil 24-dekabr . Olingan 5 may 2015 .
  92. ^“mypy – Python uchun ixtiyoriy statik yozuv” . Olingan 28 yanvar 2017 .
  93. ^“15. Floating Point Arithmetic: Issues and Limitations — Python 3.8.3 documentation”. docs.python . Olingan 6 iyun 2020 . almost all platforms map Python floats to IEEE-754 double precision
  94. ^ Zadka, Moshe; van Rossum, Guido (11 March 2001). “PEP 237 – Unifying Long Integers and Integers”. Python Enhancement Proposals. Python dasturiy ta’minot fondi . Olingan 24 sentyabr 2011 .
  95. ^“Built-in Types” . Olingan 3 oktyabr 2019 .
  96. ^“PEP 465 — A dedicated infix operator for matrix multiplication”. python.
  97. ^ ab Zadka, Moshe; van Rossum, Guido (11 March 2001). “PEP 238 – Changing the Division Operator”. Python Enhancement Proposals. Python dasturiy ta’minot fondi . Olingan 23 oktyabr 2013 .
  98. ^“Why Python’s Integer Division Floors” . Olingan 25 avgust 2010 .
  99. ^“dumaloq”, The Python standard library, release 3.2, §2: Built-in functions , olingan 14 avgust 2011
  100. ^“dumaloq”, The Python standard library, release 2.7, §2: Built-in functions , olingan 14 avgust 2011
  101. ^ Beazley, David M. (2009). Python-ga kerakli ma’lumot (4-nashr). p.66.
  102. ^ Kernighan, Brian W.; Ritchie, Dennis M. (1988). C dasturlash tili (2-nashr). p.206.
  103. ^ Batista, Facundo. “PEP 0327 — Decimal Data Type”. Python . Olingan 26 sentyabr 2015 .
  104. ^“What’s New in Python 2.6 — Python v2.6.9 documentation”. docs.python . Olingan 26 sentyabr 2015 .
  105. ^“10 Reasons Python Rocks for Research (And a Few Reasons it Doesn’t) – Hoyt Koepke”. www.stat.washington.edu . Olingan 3 fevral 2019 .
  106. ^ Shell, Scott (17 June 2014). “Ilmiy hisoblash uchun Python-ga kirish” (PDF) . Olingan 3 fevral 2019 .
  107. ^ Piotrowski, Przemyslaw (July 2006). “Build a Rapid Web Development Environment for Python Server Pages and Oracle”. Oracle Technology Network. Oracle . Olingan 12 mart 2012 .
  108. ^ Batista, Facundo (17 October 2003). “PEP 327 – Decimal Data Type”. Python Enhancement Proposals. Python dasturiy ta’minot fondi . Olingan 24-noyabr 2008 .
  109. ^ Eby, Phillip J. (7 December 2003). “PEP 333 – Python Web Server Gateway Interface v1.0”. Python Enhancement Proposals. Python dasturiy ta’minot fondi . Olingan 19 fevral 2012 .
  110. ^ Debill, Erik. “Module Counts”. ModuleCounts . Olingan 5 noyabr 2019 .
  111. ^“20+ Python Web Scraping Examples (Beautiful Soup & Selenium) – Like Geeks”. likegeeks. 2017 yil 5-dekabr . Olingan 12 mart 2018 .
  112. ^ Enthought, Canopy. “Canopy”. www.enthought . Olingan 20 avgust 2016 .
  113. ^ van Rossum, Guido (5 June 2001). “PEP 7 – Style Guide for C Code”. Python Enhancement Proposals. Python dasturiy ta’minot fondi . Olingan 24-noyabr 2008 .
  114. ^“CPython byte code”. Docs.python . Olingan 16 fevral 2016 .
  115. ^“Python 2.5 internals” (PDF) . Olingan 19 aprel 2011 .
  116. ^“Download Python”. Python . Olingan 13 dekabr 2020 .
  117. ^“history [vmspython]”. www.vmspython . Olingan 4 dekabr 2020 .
  118. ^“An Interview with Guido van Rossum”. Oreilly . Olingan 24-noyabr 2008 .
  119. ^“Download Python for Other Platforms”. Python . Olingan 4 dekabr 2020 .
  120. ^“PyPy compatibility”. Pypy . Olingan 3 dekabr 2012 .
  121. ^“speed comparison between CPython and Pypy”. Speed.pypy . Olingan 3 dekabr 2012 .
  122. ^ Shaw, Anthony (30 March 2018). “Which is the fastest version of Python?”. Hacker Noon . Olingan 20 dekabr 2019 .
  123. ^“Application-level Stackless features — PyPy 2.0.2 documentation”. Doc.pypy . Olingan 17 iyul 2013 .
  124. ^“Python-for-EV3”. LEGO Education . Olingan 17 aprel 2019 .
  125. ^“Plans for optimizing Python”. Google Project Hosting. 2009 yil 15-dekabr . Olingan 24 sentyabr 2011 .
  126. ^“Python on the Nokia N900”. Stochastic Geometry. 2010 yil 29 aprel.
  127. ^“google/grumpy”. 10 April 2020 – via GitHub.
  128. ^“Loyihalar”. opensource.google.
  129. ^“Nuitka Home | Nuitka Home”. nuitka . Olingan 18 avgust 2017 .
  130. ^ Borderies, Olivier (24 January 2019). “Pythran: Python at C++ speed !”. O’rta.
  131. ^“Pythran — Pythran 0.9.5 documentation”. pythran.readthedocs.io.
  132. ^ Murri, Riccardo (2013). Performance of Python runtimes on a non-numeric scientific code. European Conference on Python in Science (EuroSciPy). arXiv: 1404.6388 . Bibcode:2014arXiv1404.6388M.
  133. ^“The Computer Language Benchmarks Game” . Olingan 30 aprel 2020 .
  134. ^ ab Warsaw, Barry; Hylton, Jeremy; Goodger, David (13 June 2000). “PEP 1 – PEP Purpose and Guidelines”. Python Enhancement Proposals. Python dasturiy ta’minot fondi . Olingan 19 aprel 2011 .
  135. ^“PEP 8 – Python kodi uchun uslubiy qo’llanma”. Python.
  136. ^ Cannon, Brett. “Guido, Some Guys, and a Mailing List: How Python is Developed”. python. Python dasturiy ta’minot fondi. Arxivlandi asl nusxasi 2009 yil 1-iyunda . Olingan 27 iyun 2009 .
  137. ^“Python Developer’s Guide”.
  138. ^ Norwitz, Neal (8 April 2002). “[Python-Dev] Release Schedules (was Stability & change)” . Olingan 27 iyun 2009 .
  139. ^ ab Aahz; Baxter, Anthony (15 March 2001). “PEP 6 – Bug Fix Releases”. Python Enhancement Proposals. Python dasturiy ta’minot fondi . Olingan 27 iyun 2009 .
  140. ^“What’s New in Python 3.9”. Python . Olingan 28 noyabr 2019 .
  141. ^“PEP 602 — Annual Release Cycle for Python”. Python . Olingan 6 noyabr 2019 .
  142. ^“Changing the Python release cadence [LWN]”. lwn . Olingan 6 noyabr 2019 .
  143. ^“PEP 596 — Python 3.9 Release Schedule”. Python . Olingan 6 noyabr 2019 .
  144. ^“Python Buildbot”. Python Developer’s Guide. Python dasturiy ta’minot fondi . Olingan 24 sentyabr 2011 .
  145. ^ ab“Whetting Your Appetite”. The Python Tutorial. Python dasturiy ta’minot fondi . Olingan 20 fevral 2012 .
  146. ^“In Python, should I use else after a return in an if block?”. Stack overflow. Stack Exchange. 2011 yil 17-fevral . Olingan 6 may 2011 .
  147. ^ Lutz, Mark (2009). Learning Python: Powerful Object-Oriented Programming. O’Reilly Media, Inc. p. 17. ISBN9781449379322 .
  148. ^ Fehily, Chris (2002). Python. Peachpit Press. p. xv. ISBN9780201748840 .
  149. ^“TIOBE Index”. TIOBE – The Software Quality Company . Olingan 7 mart 2017 .
  150. ^ TIOBE Software Index (2015). “TIOBE Programming Community Index Python” . Olingan 10 sentyabr 2015 .
  151. ^ Prechelt, Lutz (14 March 2000). “An empirical comparison of C, C++, Java, Perl, Python, Rexx, and Tcl” (PDF) . Olingan 30 avgust 2013 .
  152. ^“Quotes about Python”. Python dasturiy ta’minot fondi . Olingan 8 yanvar 2012 .
  153. ^“Organizations Using Python”. Python dasturiy ta’minot fondi . Olingan 15 yanvar 2009 .
  154. ^“Python : the holy grail of programming”. CERN byulleteni. CERN Publications (31/2006). 2006 yil 31-iyul . Olingan 11 fevral 2012 .
  155. ^ Shafer, Daniel G. (17 January 2003). “Python Streamlines Space Shuttle Mission Design”. Python dasturiy ta’minot fondi . Olingan 24-noyabr 2008 .
  156. ^“Tornado: Facebook’s Real-Time Web Framework for Python – Facebook for Developers”. Ishlab chiquvchilar uchun Facebook . Olingan 19 iyun 2018 .
  157. ^“What Powers Instagram: Hundreds of Instances, Dozens of Technologies”. Instagram Engineering . Olingan 27 may 2019 .
  158. ^“How we use Python at Spotify”. Spotify Labs. 20 mart 2013 yil . Olingan 25 iyul 2018 .
  159. ^ Fortenberry, Tim (17 January 2003). “Industrial Light & Magic Runs on Python”. Python dasturiy ta’minot fondi . Olingan 11 fevral 2012 .
  160. ^ Taft, Darryl K. (5 March 2007). “Python Slithers tizimlarga”. eWeek. Ziff Davis Holdings . Olingan 24 sentyabr 2011 .
  161. ^GitHub – reddit-archive/reddit: historical code from reddit., The Reddit Archives, 19 March 2019 , olingan 20 mart 2019
  162. ^“Usage statistics and market share of Python for websites”. 2012 . Olingan 18 dekabr 2012 .
  163. ^ Oliphant, Travis (2007). “Python for Scientific Computing”. Fan va muhandislik sohasida hisoblash. 9 (3): 10–20. Bibcode:2007CSE. 9c..10O. CiteSeerX10.1.1.474.6460 . doi:10.1109/MCSE.2007.58. S2CID206457124.
  164. ^ Millman, K. Jarrod; Aivazis, Michael (2011). “Python for Scientists and Engineers”. Fan va muhandislik sohasida hisoblash. 13 (2): 9–12. Bibcode:2011CSE. 13b. 9M. doi:10.1109/MCSE.2011.36.
  165. ^Science education with SageMath, Innovative Computing in Science Education , olingan 22 aprel 2019
  166. ^“OpenCV: OpenCV-Python Tutorials”. docs.opencv . Olingan 14 sentyabr 2020 .
  167. ^“Installers for GIMP for Windows – Frequently Asked Questions”. 26 Iyul 2013. Arxivlangan asl nusxasi 2013 yil 17-iyulda . Olingan 26 iyul 2013 .
  168. ^“jasc psp9components”. Arxivlandi asl nusxasi 2008 yil 19 martda.
  169. ^“About getting started with writing geoprocessing scripts”. ArcGIS Desktop Help 9.2. Environmental Systems Research Institute. 2006 yil 17-noyabr . Olingan 11 fevral 2012 .
  170. ^ CCP porkbelly (24 August 2010). “Stackless Python 2.7”. EVE Community Dev Blogs. CCP o’yinlari. As you may know, EVE has at its core the programming language known as Stackless Python.
  171. ^ Caudill, Barry (20 September 2005). “Modding Sid Meier’s Civilization IV”. Sid Meier’s Civilization IV Developer Blog. Firaxis o’yinlari. Arxivlandi asl nusxasi 2010 yil 2 dekabrda. we created three levels of tools . The next level offers Python and XML support, letting modders with more experience manipulate the game world and everything in it.
  172. ^“Python Language Guide (v1.0)”. Google Documents List Data API v1.0. Arxivlandi asl nusxasi 2010 yil 15 iyulda.
  173. ^Dean, Jeff; Monga, Rajat; va boshq. (2015 yil 9-noyabr). “TensorFlow: Large-scale machine learning on heterogeneous systems” (PDF) . TensorFlow. Google tadqiqotlari . Olingan 10-noyabr 2015 .
  174. ^ Piatetskiy, Gregori. “Python R: 2018 yilda Analytics, Data Science, Machine Learning uchun eng yaxshi dasturiy ta’minot: tendentsiyalar va tahlillarni yutmoqda”. KDnuggets. KDnuggets . Olingan 30 may 2018 .
  175. ^“Who is using scikit-learn? — scikit-learn 0.20.1 documentation”. scikit-learn.
  176. ^Jouppi, Norm. “Google supercharges machine learning tasks with TPU custom chip”. Google Cloud Platform Blog . Olingan 19 may 2016 .
  177. ^“Natural Language Toolkit — NLTK 3.5b1 documentation”. www.nltk.
  178. ^“Python Setup and Usage”. Python dasturiy ta’minot fondi . Olingan 10 yanvar 2020 .
  179. ^“Immunity: Knowing You’re Secure”. Arxivlandi asl nusxasi 2009 yil 16 fevralda.
  180. ^“Core Security”. Asosiy xavfsizlik.
  181. ^“What is Sugar?”. Sugar Labs . Olingan 11 fevral 2012 .
  182. ^“4.0 New Features and Fixes”. LibreOffice. Hujjatlar fondi. 2013 . Olingan 25 fevral 2013 .
  183. ^“Gotchas for Python Users”. boo.codehaus. Codehaus Foundation. Arxivlandi asl nusxasi 2008 yil 11-dekabrda . Olingan 24-noyabr 2008 .
  184. ^ Esterbrook, Charles. “Rahmat”. cobra-language. Cobra Language . Olingan 7 aprel 2010 .
  185. ^“Proposals: iterators and generators [ES4 Wiki]”. wiki.ecmascript. Arxivlandi asl nusxasi 2007 yil 20 oktyabrda . Olingan 24-noyabr 2008 .
  186. ^“FAQ: What is GDScript and why should I use it?”.
  187. ^ Kincaid, Jason (10 November 2009). “Google’s Go: A New Programming Language That’s Python Meets C++”. TechCrunch . Olingan 29 yanvar 2010 .
  188. ^ Strachan, James (29 August 2003). “Groovy – the birth of a new dynamic language for the Java platform”. Arxivlandi asl nusxasi 2007 yil 5 aprelda . Olingan 11 iyun 2007 .
  189. ^ Yegulalp, Serdar (16 January 2017). “Nim language draws from best of Python, Rust, Go, and Lisp”. InfoWorld. Nim’s syntax is strongly reminiscent of Python’s, as it uses indented code blocks and some of the same syntax (such as the way if/elif/then/else blocks are constructed).
  190. ^“Ruby yaratuvchisi bilan intervyu”. Linuxdevcenter . Olingan 3 dekabr 2012 .
  191. ^Lattner, Kris (2014 yil 3-iyun). “Kris Lattnerning bosh sahifasi”. Kris Lattner . Olingan 3 iyun 2014 . 2010 yil iyul oyida tez dasturlash tili ustida ish boshladim. Men asosiy til strukturasining ko’p qismini amalga oshirdim, uning mavjudligini bir necha kishi bilar edi. Yana bir nechta (hayratlanarli) odamlar 2011 yil oxirida jiddiy tarzda o’z hissalarini qo’sha boshladilar va bu 2013 yil iyul oyida Apple Developer Tools guruhi uchun asosiy e’tiborga aylandi [. ] Objective-C, Rust, Haskell, Ruby, Python, C #, CLU va boshqalarni ro’yxatlash mumkin emas.
  192. ^ Kupris, Andreas; Do’stlar, Donal K. (2000 yil 14 sentyabr). “Maslahat №3: Maslahat formati”. tcl.tk. Tcl Developer Xchange . Olingan 24-noyabr 2008 .
  193. ^ Gustafsson, Per; Niskanen, Raimo (2007 yil 29-yanvar). “EEP 1: EEP maqsadi va ko’rsatmalari”. erlang . Olingan 19 aprel 2011 .
  194. ^“Tezkor evolyutsiya jarayoni”. GitHub-dagi tezkor dasturlash tili evolyutsiyasi ombori. 18 fevral 2020 yil . Olingan 27 aprel 2020 .

Manbalar

  • “Sun’iy aql uchun Python”. Wiki.python. 19 Iyul 2012. Arxivlangan asl nusxasi 2012 yil 1-noyabrda . Olingan 3 dekabr 2012 .
  • Peyn, Jozelin, tahr. (2005 yil avgust). “Pitondagi AI”. AI Expert Newsletter. Amzi !. Arxivlandi asl nusxasi 2012 yil 26 martda . Olingan 11 fevral 2012 .
  • “PyAIML 0.8.5: Python to’plami indeksi”. Pypi.python . Olingan 17 iyul 2013 .
  • Rassel, Styuart J. & Norvig, Piter (2009). Sun’iy aql: zamonaviy yondashuv (3-nashr). Yuqori Saddle River, NJ: Prentice Hall. ISBN978-0-13-604259-4 .

Qo’shimcha o’qish

  • Dauni, Allen B. (2012 yil may). Pythonni o’ylab ko’ring: qanday qilib kompyuter mutaxassisi kabi o’ylash kerak (Versiya 1.6.6 tahr.). ISBN978-0-521-72596-5 .
  • Xemilton, Naomi (2008 yil 5-avgust). “A-Z dasturlash tillari: Python”. Computerworld. Arxivlandi asl nusxasi 2008 yil 29 dekabrda . Olingan 31 mart 2010 .
  • Lutz, Mark (2013). Python-ni o’rganish (5-nashr). O’Reilly Media. ISBN978-0-596-15806-4 .
  • Pilgrim, Mark (2004). Python-ga sho’ng’ing . Apress. ISBN978-1-59059-356-1 .
  • Pilgrim, Mark (2009). Python 3 ga sho’ng’ing. Apress. ISBN978-1-4302-2415-0 .
  • Summerfield, Mark (2009). Python 3 da dasturlash (2-nashr). Addison-Uesli Professional. ISBN978-0-321-68056-3 .

Web sayt yaratishni nimadan boshlash kerak, qanday tartibda ishlash kerak, endi boshlayotganlar uchun yo’riqnoma

Assalomu aleykum blogimiz o’quvchilari! Hammamizga malumki, axborot texnologiyalari yildan-yilga rivojlanib, yanada mukammallashib borayapti. Shuning uchun, hozirgi paytda odamlarni, o’z web-sayti, web-sahifasi yoki internetda daromad olish imkoniyati bilan ajablantirish qiyin. Ammo, Yandex va Google qidiruv tizimlarida tez topiladigan va qiziqarli, web sayt yaratish oson ish emas. Lekin, nima qilish kerak, qanday qilish kerakligini qund bilan o’rgansangiz, bilsangiz, bundan oson ishning o’zi yo’q. Shu sababli bugun, web sayt yaratish to’g’risidagi maqolalar seriyasini boshlashga qaror qildim.

Bu maqolalar seriyasida, sayt tuzishni noldan boshlab, toki, targ’ib qilib, rivojlantirib, daromad olishgacha bo’lgan malumotlarni olishingiz mumkin.

Demak, sayt tuzishni nimadan boshlash kerak?

Eng avvalo, biz sayt yaratish maqsadini aniqlab olishimiz kerak. Sayt shaxsiy foydalanish uchun kerakmi yoki tovarlar va xizmatlar sotishgami?

Birinchi variant uchun internetdagi bepul dasturlardan foydalanishingiz mumkin. Ular yordamida, siz, andozalar asosida Web-resurs yaratishingiz mumkin, buning uchun faqat bir necha daqiqa sarflashingiz kerak bo’ladi.

Ikkinchi variant uchun bir oz harakat qilish va ozgina sarmoya kiritishingiz kerak bo’ladi. Faqatgina bir nechta maxsus dasturlarni o’rganib chiqib, saytni ro’yxatdan o’tkazish, to’ldirish va targ’ib qilishni boshlashingiz mumkin.

Maqola mundarijasi ( Ochish / Yopish )

  1. Sayt yaratishni boshlash uchun 7 muhim qadam
  2. CMS platformasini tanlash
  3. Bosqichma-bosqich bepul sayt yaratish
  4. Xulosa

Sayt yaratishni boshlash uchun 7 muhim qadam

Web-resursni yaratish istagi sizda paydo bo’lgandan so’ng, buning uchun qancha mablag’ talab etilishini va qanday vositalarni ishlatish mumkinligini bilib olishingiz shart.

1-qadam. To’g’ri g’oya toping

Web-resurs bazasi, shu jumladan, har qanday masala g’oyaga asoslanadi. U qanchalik yaxshi va original bo’lsa, biznes yanada foydali va muvaffaqiyatli bo’ladi. Shuning uchun, tanlovda adashmaslik kerak va boshqalardan ko’ra yaxshiroq yoki, hech bo’lmaganda, muvaffaqiyatli kontseptsiyani yaratish juda muhimdir.

Maslahat! G’oya, birinchi navbatda, sizga yoqishi va ayni paytda odamlar uchun qiziqarli bo’lishi kerak. Bunday tandem har qanday muvaffaqiyatli loyihani, shu jumladan, web-resursni yaratish uchun kuchli asosdir.

2-qadam. Sayt mavzusi va nomini tanlash

Agar foyda keltiradigan loyiha rejalashtirgan bo’lsangiz, u holda uning nomi asosiy domen maydonlaridan birida paydo bo’lishi kerak. Masalan, , yoki . Bu qidiruv tizimlarida yuqori o’rinlarni egallashda ancha yordam beradi.

Maslahat! Domenni tanlayotganda, u birinchi navbatda esda qolarli bo’lishi kerak, ya’ni har bir kishi uni osongina eslab qoladigan bu’lishi kerak. Bu esa, foydalanuvchiga sizni qidirib topishda qulaylik yaratadi.

Bundan tashqari, sayt yaratishda hostingga e’tibor qaratishingiz kerak. Bu ishning barqarorligi, interfeysning qulayligi, tanlagan tilingizni qo’llash xizmati, xizmatlarning narxi va boshqalarni nazarda tutadi.

Agar, hostingni noto’g’ri tanlasangiz, sayt qidiruv tizimlarida umuman topilmasligi mumkin.

3- qadam. Sayt uchun CMS tanlash

CMS atamasi internetda juda keng tarqalgan. Ammo bu atama nimani anglatadi? Ba’zilarning aytishicha, bu saytning «mexanizmi» va «yuragi», boshqalar fikricha, axborotni joylashtirish va tahrir qilish yoki, bo’limlarni yaratish uchun muntazam vazifalarni samarali hal qilish vositasidir.

Aslida, CMS tushunchasi (inglizcha Content Management System) – kontentni boshqarish tizimi – sayt mazmunini yaratish, boshqarish va tahrirlash jarayonini tashkil qilish va ta’minlash uchun foydalaniladigan kompyuter dasturi yoki axborot tizimidir.

Bugungi kunga kelib, web-resurslarning aksariyati tayyor «mexanizm» asosida yaratilgan bo’lib, uni noldan o’rnatmaslikka imkon beradi va bunday holatda texnik xatolar juda kam bo’ladi.

Hozirda, asosan WordPress, Joomla, Drupal CMSlarini ishlatishadi.

4- qadam. Tegishli shablonni tanlash

Internetda sayt ochish uchun tayyor andozalar mavjud. Lekin, ular mustaqil ravishda ishlab chiqilishi mumkin, bu ularni boshqalardan ajratib turadi va qidiruv tizimlari tomonidan yaxshiroq qabul qilinadi.

Shu bilan birga, dizaynda ortiqcha narsa bo’lmasligi kerak. Jadvalning ko’pligi yaxshi, lekin saytning yuklanishini sezilarli darajada sekinlashtiradi. Shuning uchun asosiy sahifalarning vazni 50-60 kb dan oshmasligi kerak.

Tasvirlar mavzu bilan uyg’un bo’lishi kerak, lekin saytni qidirishda kalit so’zlarni o’z ichiga olgan matn asosiy rol o’ynaganligi sababli, unchalik katta ahamiyatga ega emas. Web-resursni loyihalashda haddan tashqari yorqin ranglardan foydalanishdan voz kechish kerak, chunki bunday tasvirlar, mehmonning ko’zini charchatadi.

5-qadam. Kontent bilan to’ldirish va kalit so’zlarni tuzish

Internet, birinchi navbatda, axborot almashish uchun ishlatilganligi sababli, saytning mazmuni har doim hal qiluvchi rol o’ynaydi. Bu saytga bo’layotgan tashriflar sonini aniqlab beradigan omil.

Shuning uchun, loyihaning boshidanoq uni sifatli materiallar bilan to’ldirish kerak. Ko’proq samaradorlik uchun kontent haftada kamida uch marta yangilanishi lozim.

Buning uchun matnlar mustaqil ravishda yozilishi yoki professional kopirayterlarni yollash mumkin.

Kontent yaratilgach, kalit so’zlarni tuzish vaqti keladi. Ular yordamida bir necha soniya ichida kerakli saytni topishingiz mumkin.

7-qadam. Saytni reklama qilish

Sayt yaratilgandan so’ng keyingi muhim qadam– saytni reklama qilish usulini tanlash. Bu ish bilan o’zingiz shug’ullanishingiz yoki, mutaxassis xizmatlaridan foydalanishingiz mumkin.

CMS platformasini tanlash

CMS platformasini tanlashda siz saytni yaratish maqsadiga tayanishingiz kerak. Har bir platforma (CMS) muayyan maqsadga mos keladi. Barcha CMS-mehanizmlar 2 turga bo’linadi: pullik va bepul.

Bugungi kunda eng ommabop va bepul CMSlar orasida quyidagilar mavjud:

Shubhasiz, saytlar uchun eng mashhur CMS WordPress hisoblanadi. Bundan tashqari, sayt bilan bog’liq muayyan vazifani hal qilishda sizga yordam beradigan ko’plab webmasterlar mavjud.

Pullik CMS platformalari quyidagilarni o’z ichiga oladi:

Ushbu platformalarning har biri haqida Internetda batafsil ma’lumot bor. Yoki, saytimizdan xabardor bo’lib turing, bir ozdan keyin bu platformalar to’g’risidagi batafsil malumotlarni taqdim etamiz!

Web-saytingizni bepul yaratishda sizga, konstruktor saytlar yordam berishi mumkin. Ushbu konstruktor saytlardan foydalansangiz, sizga tartiblash, dizayn, dasturlash va kodni tahrirlashni o’rganishni keragi bo’lmaydi.

Bosqichma-bosqich bepul sayt yaratish

Quyidagi bosqichlar, sayt yaratish uchun ajoyib qo’llanma bo’ladi, chunki ular qaysi tartibda harakat qilish kerakligini yaxshiroq tushunishga yordam beradi. Bu ma’lumotlardan foydalanib, saytni o’zingiz yoki mutaxassislar jamoasi bilan birgalikda yaratishingiz mumkin.

1-bosqich. Saytning maqsad va vazifalari

Shunday qilib, siz saytni yaratishga qaror qildingiz va, albatta, undan to’g’ridan-to’g’ri yoki, bilvosita foyda olishni xohlaysiz.

Saytning asosiy vazifalari:

  • Jamoatchilikda inson, kompaniya yoki boshqa tashkilotning ijobiy imidjini shakllantirish.
  • Tovarlar yoki xizmatlarni sotish.
  • Kelgusi tadbirlarni e’lon qilish.
  • Yangiliklar joylashtirish.
  • Foydalanuvchiga qaror qabul qilishda yordam berish (masalan, mahsulot bahosini yoki xususiyatlarini taqqoslash).
  • Onlayn xizmatlar (elektron pochta, Internet — bank, kalkulyator va h.k.).

2-bosqich. Saytning ko’rinishi va mexanizmi

Quyidagi jadval yordamida sayt mehanizmini tanlashingiz mumkin:

Web-saytingiz oldida turgan vazifalarni aniqlab, sayt mehanizmini tanlashga o’ting.

3-bosqich. Saytni to’ldirish uchun materiallarni tayyorlash

Ikkinchi bosqichni tugatib, tegishli qaror qabul qilib, sayt uchun materiallarni tayyorlashga kirishishingiz kerak. Saytning mazmuni quyidagilarni o’z ichiga olishi mumkin: fotosuratlar, videolar, matnlar (pdf va boshqa formatdagi hujjatlar, kitoblar, referatlar va h.k.), audiolar shuningdek yuklab olish uchun mo’ljallangan fayllar.

Maslahat! Ma’lum bo’lishicha, saytlarni ishlab chiqish bilan shug’ullanadigan mutaxassislarning aksariyati bir global muammoga duch kelishadi: mijozlar saytni to’ldirish uchun yetarli materiallarga ega emaslar. Korporativ identifikator, logotip, mahsulot fotosurati va kompaniyaning tavsifi yo’q. Shuning uchun sizlarga bu muammoni oldindan hal qilishni tavsiya etardim.

4-bosqich. Dizayn va prototipni ishlab chiqish

Prototip– web-saytning tuzilishini ifodalovchi grafik tartib.

Prototip yaratish uchun siz avval varoqda sayt elementlarini bloklarga ajratib beradigan mutaxassisga murojaat qilishingiz kerak va keyin Adobe Photoshopda prototipning yanada mukammal versiyasini yaratasiz. Endi web-saytingiz tartiblash bosqichiga to’liq tayyor bo’ldi.

5-bosqich. Tartiblash.

Yuqoridagi bosqichda yaratilgan maketga asoslanib tartiblovchi mutaxassis ishni boshlaydi. Agar, ehtiyoj mavjud bo’lsa, u ba’zi tahrirlarni amalga oshirishi va yangi funksiyalarni yaratish uchun qo’shimcha dasturchini jalb qilishi mumkin.

Saytlarni yaratish uchun eng aniq va mashhur dasturlarning ro’yxatini taqdim etamiz:

  • Notepade ++;
  • PhpDesigner;
  • Adobe Dreamweaver;
  • Adobe Muse;
  • Balsamiq Mockups.

6- bosqich. Domen va hosting.

Domen sotib olish – boshqacha qilib aytganda, ro’yxatdan o’tish domen nomini sotib olishdir. Deyarli barcha ro’yxatga olish kompaniyalari hosting xizmatlariga ega va foydalanuvchilarga ro’yxatdan o’tishda yordam beradi.

To’g’ridan-to’g’ri ro’yxatga olish uchun pasport ma’lumotlari kerak bo’ladi, chunki sayt sizga qonuniy ravishda beriladi.

Diqqat! Agar ro’yxatdan o’tish yuridik shaxs tomonidan amalga oshirilsa, yuridik shaxsning ma’lumotlarini ko’rsatish kerak bo’ladi.

7- bosqich. Ishga tushirish

Saytni ishga tushirgandan va sozlaganingizdan so’ng, materiallaringizni saytga joylashtirishingiz mumkin.

Tabriklaymiz! Shu paytdan boshlab web-saytingiz har bir kishi uchun ochiq va siz nihoyat barcha maqsadlarni amalga oshirishingiz mumkin.

Xulosa

Aslida, web-saytlarni yaratish va targ’ib qilish haqida barcha ma’lumotlar internetda mavjud. Lekin, u malumotlarni har joydan va qilinishi kerak bo’lgan ishlarning ketma ketligi buzilgan holda olishingiz mumkin. Shularni hisobga olgan holda, barcha malumotlarni bir joyga yig’ish maqsadida, blogimizda «Sayt tuzish» ruknini ochganmiz. Kerakli barcha malumotlarni shu bo’limdan yoki manabu maqoladan topishingiz mumkin. Bir qarashda qiyin tuyilgan, sayt yaratish, oxir-oqibat nihoyatda tez va qiziqarli bo’lishi va kelajakda, ko’p daromad olib kelishi aniq.

Agar siz o’qigan barcha maslahatlardan so’ng, saytni yaratish va ishga tushirish jarayoni hali ham murakkab va amalga oshirilmaydigan deb o’ylasangiz, unda biz, onlayn maktabimizda sizning qo’lingizdan ushlab natijagacha olib chiqishimiz mumkin. Buning uchun onlayn maktabimizga kirib ro’yxatdan o’tishingiz kerak bo’ladi.

Savollar va fikrlaringizni izohlarda kutib qolaman. Blogimizga ,obuna bo’lib, zamon bilan hamnafas bo’ling!

E’tiboringiz uchun rahmat!

Xush kelibsiz

Obyektlar orqali ma`lumotlarni qayta ishlash va amallar bajarishni ta`minlashda foydalaniladigan dasturlash tillari Obyektga yo`naltirilgan dasturlash tillaridir. OOP ham rivojlanish evaziga ehtiyoj sababli yuzaga kelgan. OOP ning imkoniyatlari ba`zida bizning tasavvurimizdan ham kattaroq. Unda istalgan tipdagi obyektlarni qayta ishlashning imkoni bor. OOP dasturlarini tasavvur qilish tizimli dasturlarni tuza oladigan dasturchilar uchun qiyin emas, OOP – tizimli dasturlarning majmui. Istalgan dasturni tahlil qilsak – hech bir dastur yo`qki unda tizimli dasturlash tillaridagi amallar bajarilmasa, OOP da ham turli xil tiplar bo`lgani bilan ular ham oddiy tiplardan tuzilgan to`plamlardir, ular o`rtasida amal bajarganda ham shundoq o`zini emas ichidagi a`zolari o`rtasida amallar bajariladi. A`zolari esa o`sha biz bilgan oddiy tiplar hisoblanadi.

OOP ning 3 prinspi:
1. Inkaptsulyatsiya (incapsulation)(Class a`zolarining xavfsizligini ta`minlash)
2. Nasl olish(Abstraction-Inheritance)(Avlod classda ajdod classning xususiyatlaridan foydalanish)
3. Polimorfizm

Savol: Object nima? Object(obyekt) – xotirada saqlangan ma`lumotning e`lon qilingan nomi(o`zgaruvchisi). O`zgaruvchi – ma`lumotni biror bir nom bilan e`lon qilish.

Savol: Struct nima? Struct(struktura) -obyekt tegishli bo`lgan to`plamning nomi. Bu to`plamni tip(type) deb ataladi. Struct tipidagi obyektda ichidagi barcha o`zgaruvchilar tashqaridan ko`rinib turadi.

Savol: Class nima? Class ham xuddi Struct kabi type, lekin undagi obyektning ba`zi xususiyatlari bor, ular bu obyektning tanasini yashirib turadi va boshqalar.. Shu sababli ham struct dan odatda juda kam foydalaniladi. Chunki Struct – bu public(ommaviy, ochiq, oshkora obyekt). Bundan tashqari Class lar kod yozishda ham muhim ahamiyatga ega. Dasturchi dastur tuzganda odatda har bir missiya uchun bir funksiya ochadi va funksiya nomini shu missiyaga mos qilib nomlaydi. Kodning matnini shu funksiyalarda yozadi. Funksiyani o`zini esa Class da yoziladi. Demak Classda kod matnini emas funksiya(method-metod), property(xususiyat) hamda o`zgaruvchilar yoziladi, funksiyaning ichida esa kodning matni yoziladi.(adashtirmaslik kerak). Ma`lum bir guruhga kiradigan missiyalar, mantiqlar to`plami bitta Class da tashkil etiladi va shu class nomini ham mantiqdan kelib chiqib nom beriladi. Agar bu class mantiqiy amallarni bajarish uchun emas, faqat to`plamning tipi(type) uchun yaratib vaqtincha shu tipdagi ma`lumotni saqlab turish uchun yaratilgan bo`lsa (ya`ni undan maqsad faqat ma`lumot saqlash va biror manzilga yo`naltirish) demak unda funksiyaning keragi yo`q.

Bu class Tom obyektining qiymatini saqlash uchun e`lon qilingan. Tom-mushuk bir obyekt bo`lsa uning ismi va yoshini saqlab turadigan class. Demak bu to`plam yoki bir tip ki, unda mushuk haqida ma`lumotlar saqlanadi. Bu klass tipidagi obyektlar ko`pligi bizga bir nechta mushukning ma`lumotlari saqlanayotganligini bildiradi. Oydinlashadiki. biz OOP dasturlash tillarida o`zimiz xohlagancha tip e`lon qilib foydalana olishimiz mumkin ekan. Biz OOP orqali juda katta imkoniyatlarga erishamiz. Class lar birgalikda kutubxona(library-biblioteka) fayllarini tashkil etadi, bu kutubxonalar ham biror katta dasturlar tizimini tashkil etadi. Masalan: Windows OS ham kutubxonalardan tashkil topgan.

Public va Private nima? Class a`zolarining xavfsizligini ta`minlash(inkapsulyatsiya)-incapsulation) prinspining maxsus so`zlari. Public, Protected, Private turlari mavjud.
Public(umumiy) – ushbu elementni class tashqarisidan ko`rish, o`zgartirish mumkin yoki yo`qligini bildiradi

Protected(himoyalangan) – ushbu element shu class avlodlari(nasl olinganda) ichida va shu class ning ichida ko`rinishi, murojaat qilish mumkinligi va qiymatini o`zgartira olish huquqini beradi

Private(maxfiy) – mazkur element o`zi joylashgan class ichidagina ko`rinishi va qiymatlarini o`zgartira olinishi hamda murojaat huquqini beradi.

Bu bizga nima uchun zarur? Tasavvur qilishga oson bo`lishi uchun kompyuter klaviaturasidan foydalanamiz. Klavishlar public elementlar, uning ichki qismidagi sxemalar esa private. Bizga faqat foydalanishimiz kerak bo`lgan elementlar ko`rsatib qo`yilgan, qolgani esa biz uchun muhim emas va mavhum. Protectedni esa xotirada qolishi uchun foydalangan vaqtimizda tushuntirib o`tamiz.

Web dasturlash haqida, Frontend nima?

Dasturlash juda qiziqarli va har tomonlama foydali mashg’ulot. Dasturlashni o’rganish juda oson. Qiziqish va yangi bilimlarni o’zlashtirishga bo’lgan yuqori darajadagi istak bilan bir necha oylik mehnat orqali har kim malakali dasturchiga aylanishi mumkin. Web dasturlash mening sevimli mashg’ulotlarimdan biri.

Web dasturlash brauzeringiz orqali ko’rishingiz va foydalanishingiz mumkin bo’lgan barcha web dasturlarni tayyorlash jarayonini o’z ichiga oladi. Web dasturlash ham juda qiziqarli va katta daromad keltiradigan soha hisoblanadi. Malakali dasturchilarga bo’lgan talab bugungi kunda har doimgidan ham yuqori. Agar qachondir web dasturlashni o’rganish haqida o’ylab ko’rgan bo’lsangiz, hozir bu niyatingizni amalga oshirish uchun kirishishning ayni vaqti!

Web dasturlash haqida, Frontend nima?

Siz bilan Web dasturlash nima ekanligi bilan qisqacha tanishib chiqdik. Endi hozir siz bilan Frontend haqida qisqacha tanishib chiqamiz

Avvalo “frontend” va “backend” so’zlarining o’zbek tilidagi ma’nolari bilan tanishib chiqaylik. “Frontend” (front end, front-end) o’zbek tilida “Oldindagi (ustki) tomon” degan ma’noni anglatadi. Biz bu so’z bilan u yoki bu narsaning tashqi, hammaga ko’rinib turadigan qismini nazarda tutamiz. Backend (back end, back-end) esa Frontendning aksi hisoblanib, qaysidir narsaning ichki, yoki orqa tomoni degan ma’noni anglatadi. Bu bilan biz qaysidir narsaning hammaga ko’rinmaydigan, yashiring, ichki yoki orqa tomonini nazarda tutgan bo’lamiz.

Frontend – Bu o‘zi nima va yuqoridagi gaplarga buning nima bog‘liqligi bor?» dersiz, bu savolingizga ushbu maqolada javob topasiz degan umiddamiz.

Frontend – «tashqi interfeys degan ma’noni bildirib, veb texnologiyalarning biridir. Bu texnologiya yordamida veb sahifalarning insonga ko‘rinib turuvchi, ma’lumot beruvchi vizual qismi yaratiladi. Frontend texnologiyalarini o‘rgangan inson o‘z ijodkorligi, kretiv yondoshuvi orqali turli g‘oyalarini veb sahifalar, dasturlar shaklida ro‘yobga chiqarishi mumkin bo‘ladi.

Bugungi kunda shaxsiy veb sahifaga ega bo‘lish o‘ziga xos elektron vizitka, passport vazifasini bajaribgina qolmay, balki sayt orqali ko‘plab foydali ishlarni amalga oshirish mumkin bo‘lib qoldi. Masalan, jurnalist, shoir, yozuvchi o‘z ijodi va izlanishlarinini veb sahifasi orqali yoritib borishi mumkin. Tadbirkor o‘z sahifasida mahsulot va xizmatlarini keng targ‘ib qilishi va daromadini oshirishi mumkin.

Umumiy qilib aytadigan bo‘lsak Frontend texnologiyalarini o‘rganish – internet xazinasining kalitini qo‘lga kiritish demakdir, bu xazinadan xohlagan narsangizni olishingiz, foydalnishingiz, boshqarishingiz mumkin.

Qanday texnologiyalar o‘rganiladi? Nimadan boshlash kerak?

Frontend dasturlash sohasi bir necha til va texnologiyalarni o‘z ichiga oladi. Uning asoslari HTML, CSS va JavaScriptdir. Vaqt davomida saytlarning ko‘rinishi va ishlashiga bo‘lgan sifat talabi o‘sishi tufayli shu texnologiyalar asosida bir qancha freymvork va kutubxonalar tuzib chiqilgan. Ulardan ko‘zlangan asosiy maqsadlardan biri sayt tuzishga ketadigan vaqtni qisqartirishdir. CSS asosida Less, Less oldindan ishlov beruvchi (preprotsessor), foydalanuvchi interfeysini tuzishda yordam beruvchi Bootstrap, Materialize, Foundation, Bulma va Tailwind freymvorklari tuzilgan bo‘lsa, JavaScript asosida hozirgi kunda trendda bo‘lgan Angular, Vue freymvorklari, jQuery va React kutubxonalari tuzib chiqilgan. Malakali frontend dasturchilarga dunyoning ko‘plab davlatlarida talab bor. Ularning bilimi va tajribasiga qarab turlicha ish haqi to‘lanadi. Bugungi kunda O‘zbekistonda malakali frontend dasturchilar oyiga o‘rtacha 300$ dan 1000$ gacha o‘rtacha daromad topishlari mumkin. Quyida frontend dasturlash sohasiga kiruvchi til va texnologiyalar haqida batafsil ma’lumot berib o‘tamiz.

Asosan o’raganish kerak bo’lgan manbalar bo’lar(Frontend uchun)

Front-End quyidagi texnologiyalar o’rganiladi (mana shu ketma ketlikda):

Html5

Css3

JavaScript (Es6)

Bootstrap

jQuery yoki Js framework Vue.js, React.js, Angular

HTML va CSS

HTML va CSS veb sahifalar asosini tashkil qiladi. HTML saytda aynan nimalar joylashishi kerakligiga mas’ul bo‘lsa (matn, rasm, video), CSSda ularning qaysi tartibda joylashuvi va qanday ko‘rinishda bo‘lishi yozib chiqiladi. Sayt foydalanuvchilarga ko‘rinadigan elementlar HTML va CSSda tuzilgani uchun bu ikkisisiz sayt tuzib bo‘lmaydi. Shuning uchun ham frontend sohasini o‘rganish aynan shu texnologiyalardan boshlanadi. Bularda bor imkoniyatlarga qo‘shimchalar va yangiliklar qo‘shilib, HTML5 va CSS3 standardlari ishlab chiqilgan.

JavaScript va jQuery

JavaScript ham yuqorida aytib o‘tilgan texnologiyalar kabi frontend dasturlashning ajralmas qismidir. JavaScript brauzerlarda ishlovchi dasturlash tili bo‘lib, u yordamida veb sahifaga interfaollik imkoniyatini berish mumkin bo‘ladi. Misol uchun biron tugma bosilganda yoki foydalanuvchi saytning biror qismiga kelganda yangi oyna ochilishi yoki biron xabar ko‘rinishi. Birmuncha vaqt oldin sayt elementlariga interfaollik qo‘shishda JavaScriptning o‘zidan foydalanish dasturchi uchun nisbatan qiyin bo‘lgan, ba’zi vazifalarni bajarishning imkoni bo‘lmagan. O‘sha vaqtda jQuery kutubxonasi tuzilgan bo‘lib, u yordamida dasturchi JavaScript tilida mavjud bo‘lmagan imkoniyatlardan qulay yo‘l bilan foydalana olgan. Hozirgi kunda JavaScriptda jQuery kutubxonasi kiritgan yangiliklar tatbiq qilingan bo‘lsada, dasturchilar jQueryni ishlatishni tashlab qo‘yishgani yo‘q. Statistika ma’lumotlariga ko‘ra JavaScript 2017 yilning eng ommalashgan dasturlash tili deb tan olindi.

JavaScript haqida

JavaScript dasturlash tili haqida muhum ma’lumotlar.

JavaScript nima? – Bu savolga har xil javob berish mumkin. Bu dasturlash tili, to‘g‘rirog‘i veb dasturlash tili, undan ham to‘g‘rirog‘i klient tomonda ishlaydigan dasturlash tili, ya’ni bu veb dasturlash tili ishlashi uchun hech qanday server kerak emas, oddiy brauzerda ishlayveradi.

JavaScript veb dasturlash tilini qachon o‘rgangan ma’qul? – Bu dasturlash tilini HTML, CSS kabilarni o‘rganib olgandan keyin boshlagan yaxshi. Shunda o‘rganish ham oson bo‘ladi. Ko‘pchilik darhol PHP veb dasturlash tilini o‘rganishni boshlab yuborishadi, keyin qiynalib qolishadi, mani fikrimcha dasturlash tilidan dastlab Javascript’ni o‘rgangan yaxshi va yengil.

JavaScript dasturlash tilining rivoji va kelajakdagi o’rni qanday? – Hozirgi kunda ushbu dasturlash tili dasturchilar orasida alohida xurmatga egadir. Jumladan ushbu dastur yordamida web-sayt yaratish, telefonlar uchun dasturlar yaratish va boshqa muhim va katta dasturlash yaratiish mumkin.

JavaScript dasturlash tili orqali qancha daromad topsa bo’ladi? – Hozirgi kunda dasturchilik kasbiga bo’lgan extiyoj va e’tibor kun sayin ortib bormoqda. Daromadiga kelsak, O’zbekistonda 1000$ dan 6000$ gacha. Chet elda 8000$ dan 500000$ gacha oylik topishadi.

Less va Sass

Less va Sass oldindan ishlov beruvchi freymvorklari CSS asosida yaratilgan bo‘lib, dasturchilar uchun CSS bilan ishlashda anchagina qulayliklar va qo‘shimcha imkoniyatlarni yaratib beradi. Uning yordamida sayt tuzishga ketadigan vaqtni tejab, nisbatan kamroq kod yozish mumkin bo‘ladi. Hatto, bu ikkisi yordamida sayt stillarini yozishga dasturlash tillari kabi yondashish mumkin.

Bootstrap, Materialize, Foundation va boshqa CSS freymvorklar

Bu freymvorklar dasturchiga deyarli tayyor ko‘rinishdagi sayt elementlarini taklif qiladi. Ular yordamida odatda ko‘p ishlatiladigan elementlarni bir necha daqiqalar ichida tuzish mumkin. Ularning har biri o‘ziga xos stildagi elementlarga ega. Material va yassi stillar ham shular jumlasidandir. Hatto saytni qog‘ozda qo‘lga chizilgandek ko‘rinishga keltiradigan freymvork ham bor – http://www.getpapercss.

AngularJS, ReactJS va VueJS

AngularJS, ReactJS va VueJS JavaScript dasturlash tiliga asoslangan bo‘lib, ular yordamida veb saytlarni yanada takomillashtirish, qo‘shimcha imkoniyatlar qo‘shish va bu o‘zgartirishlarni dasturchi o‘ylagandan ham oson usulda amalga oshirish mumkin. Agar siz HTML, CSS, Bootstrap va JavaScriptni biladigan frontend dasturchi bo‘lsangiz, bugungi kunda yurtimizda oyiga o‘rtacha 100$ dan 300$ gacha daromad topishingiz mumkin. Bordiyu siz yuqorida sanab o‘tilganlardan tashqari AngularJS, ReactJS va VueJS texnologiyalaridan birini bilsangiz, sizning o‘rtacha oylik daromadingiz 400$ dan 600$ gacha bo‘lishi mumkin. Bu daromad albatta nisbiy olingan. Veb dasturchilarning daromadi odatda ularning bilim darajasi va tajribasi bilan belgilanadi.

Qiziqarli malumotlar
Python (dasturlash tili) – Python (programming language)