Python dasturlash tili nima uchun ishlatiladi? Nima uchun Python? Python qayerda ishlatiladi?

Python dasturlash tili nima uchun ishlatiladi?  Nima uchun Python?  Python qayerda ishlatiladi?
Python dasturlash tili nima uchun ishlatiladi? Nima uchun Python? Python qayerda ishlatiladi?

Dastur zarur harakatlarning bajarilishini ta'minlaydigan algoritmlar to'plamidir. An'anaviy ravishda, xuddi shu tarzda siz dasturlashingiz mumkin oddiy odam, aniq buyruqlarni yozish, masalan, choy tayyorlaydi. Agar oxirgi variantda tabiiy nutq (rus, ukrain, ingliz, koreys va boshqalar) ishlatilsa, u holda kompyuterga maxsus dasturlash tili kerak bo'ladi. Python ulardan biri. Dasturlash muhiti keyinchalik buyruqlarni tarjima qiladi va algoritm yaratilgan inson maqsadi amalga oshiriladi. Python o'z sintaksisiga ega, ular quyida muhokama qilinadi.

Til tarixi

Rivojlanish 1980-yillarda boshlangan va 1991-yilda yakunlangan. Python tilini Guido van Rossum yaratgan. Pythonning asosiy ramzi ilon bo'lsa-da, u Amerika komediya shousi sharafiga nomlangan.

Tilni yaratishda dasturchi mavjud Paskal, C va C++ tillaridan olingan ba'zi buyruqlardan foydalangan. Birinchi rasmiy versiya Internetga kirgandan so'ng butun guruh dasturchilar uni takomillashtirish va takomillashtirishda ishtirok etishdi.

Python-ning juda mashhur bo'lishiga imkon bergan omillardan biri uning dizaynidir. U ko'plab muvaffaqiyatli mutaxassislar tomonidan eng yaxshilardan biri sifatida tan olingan.

Pythonning xususiyatlari

Python dasturlash tili yangi boshlanuvchilar uchun ajoyib o'qituvchi bo'ladi. U juda oddiy sintaksisga ega. Kodni tushunish oson bo'ladi, chunki u ko'plab yordamchi elementlarni o'z ichiga olmaydi va tilning maxsus tuzilishi sizga qanday qilib chekinishni o'rgatadi. Albatta, kam sonli buyruqlar bilan yaxshi ishlab chiqilgan dastur darhol tushunarli bo'ladi.

Ko'pgina sintaktik tizimlar ob'ektga yo'naltirilgan dasturlash yordamida yaratilgan. Python ham bundan mustasno emas. Nega aynan u tug'ilgan? Bu yangi boshlanuvchilar uchun o'rganishni osonlashtiradi va allaqachon malakali xodimlarga ba'zi elementlarni eslab qolishga yordam beradi.

Til sintaksisi

Yuqorida aytib o'tilganidek, kodni o'qish juda oson va sodda. Pythonda bajarilishi aniq bo'lgan ketma-ket buyruqlar mavjud. Aslida, ishlatiladigan operatorlar hatto yangi boshlanuvchilar uchun ham qiyin ko'rinmaydi. Bu Python-ni farq qiladigan narsa. Uning sintaksisi oson va sodda.

An'anaviy operatorlar:

  • Shartni o'rnatishda if-else konstruktsiyasidan foydalanish kerak. Agar bunday qatorlar juda ko'p bo'lsa, siz elif buyrug'ini kiritishingiz mumkin.
  • Sinf sinfni tushunish uchun.
  • Oddiy operatorlardan biri pass. U hech narsa qilmaydi, bo'sh bloklarga mos keladi.
  • Tsiklik buyruqlar while va for.
  • Funktsiya, usul va generator def orqali aniqlanadi.

Bitta so'zlardan tashqari, Python dasturlash tili iboralarni operator sifatida ishlatishga imkon beradi. String zanjirlaridan foydalanib, siz alohida buyruqlar va qavslar sonini kamaytirishingiz mumkin. Dangasa deb ataladigan hisoblar ham qo'llaniladi, ya'ni faqat shart talab qilganda amalga oshiriladigan hisoblar. Bularga va va yoki kiradi.

Dastur yozish jarayoni

Tarjimon bitta mexanizmda ishlaydi: satr yozganingizda (bundan keyin siz "Enter" ni qo'yasiz), u darhol bajariladi va odam allaqachon biron bir natijani ko'rishi mumkin. Bu yangi boshlanuvchilar yoki kodning kichik qismini sinab ko'rmoqchi bo'lganlar uchun foydali va juda qulay bo'ladi. Kompilyatsiya qilingan muhitda siz avval butun dasturni yozishingiz, keyin uni ishga tushirishingiz va xatolarni tekshirishingiz kerak bo'ladi.

Operatsiya xonasida Python dasturlash tili (yangi boshlanuvchilar uchun, allaqachon aniq bo'lganidek, bu idealdir). Linux tizimi to'g'ridan-to'g'ri konsolda ishlashga imkon beradi. ga yozilishi kerak buyruq qatori kodning nomi inglizcha "Python". Birinchi dasturni yaratish qiyin bo'lmaydi. Avvalo, tarjimondan bu erda kalkulyator sifatida foydalanish mumkinligini hisobga olish kerak. Yosh va tajribasiz mutaxassislar ko'pincha sintaksisni yaxshi bilishmaganligi sababli, algoritmni shunday yozishingiz mumkin:

Har bir qatordan keyin "Enter" ni qo'yish kerak. Javobni bosganingizdan so'ng darhol ko'rsatiladi.

Python tomonidan ishlatiladigan ma'lumotlar

Kompyuterlar (va dasturlash tillari) foydalanadigan ma'lumotlar bir necha turdagi bo'ladi va bu juda aniq. Raqamlar kasrli, butun son bo'lishi mumkin, ko'p sonlardan iborat bo'lishi mumkin yoki kasr qismi tufayli juda katta bo'lishi mumkin. Tarjimonga ular bilan ishlashni osonlashtirish va u nima bilan shug'ullanayotganini tushunishi uchun ma'lum bir turni ko'rsatish kerak. Bundan tashqari, raqamlar ajratilgan xotira katagiga mos kelishi kerak.

Python dasturlash tili tomonidan ishlatiladigan eng keng tarqalgan ma'lumotlar turlari:

  • Butun son. Gap manfiy va ijobiy qiymatlarga ega bo'lgan butun sonlar haqida bormoqda. Nol ham ushbu turga kiritilgan.
  • Tarjimon kasr qismlar bilan ishlayotganini tushunishi uchun tur suzuvchi nuqta bo'lishi kerak. Qoida tariqasida, u o'zgaruvchan nuqtaga ega bo'lgan raqamlardan foydalanganda ishlatiladi. Shuni esda tutish kerakki, dastur yozishda siz "3.25" belgisiga yopishib olishingiz va "3.25" vergulini ishlatmasligingiz kerak.
  • Satrlarni qo'shish holatida Python dasturlash tili sizga satr turini qo'shish imkonini beradi. Ko'pincha so'zlar yoki iboralar bitta yoki ichiga kiritiladi

Kamchiliklari va afzalliklari

So'nggi bir necha o'n yilliklarda odamlar ma'lumotlarni o'zlashtirishga ko'proq vaqt sarflashga va ularni kompyuterlar tomonidan qayta ishlashga kamroq vaqt sarflashga qiziqishmoqda. Faqat ijobiy narsalar mavjud bo'lgan til eng yuqori koddir.

Pythonning deyarli hech qanday kamchiliklari yo'q. Yagona jiddiy kamchilik - bu algoritmni bajarishning sekinligi. Ha, agar siz uni "C" yoki "Java" bilan solishtirsangiz, bu, ochig'ini aytganda, toshbaqa. Bu shundayligi bilan izohlanadi

Ishlab chiquvchi Python-ga eng yaxshi narsalarni qo'shishga ishonch hosil qildi. Shuning uchun, uni ishlatganda, u boshqa yuqori dasturlash tillarining eng yaxshi xususiyatlarini o'zlashtirganini sezishingiz mumkin.

Agar tarjimon tomonidan amalga oshirilgan g'oya ta'sirchan bo'lmasa, buni bir necha o'nlab satrlarni yozgandan so'ng darhol tushunish mumkin bo'ladi. Agar dastur foydali bo'lsa, u holda muhim bo'limni istalgan vaqtda yaxshilash mumkin.

Hozirda bir nechta dasturchilar guruhi Python-ni takomillashtirish ustida ishlamoqda, shuning uchun C++ da yozilgan kod Python yordamida yaratilgan koddan yaxshiroq bo'lishi haqiqat emas.

Qaysi versiya bilan ishlash yaxshiroq?

Hozirgi vaqtda Python tili kabi sintaktik tizimning ikkita versiyasi keng qo'llaniladi. Yangi boshlanuvchilar uchun ular orasidan tanlash juda qiyin bo'ladi. Shuni ta'kidlash kerakki, 3.x hali ishlab chiqilmoqda (garchi ommaga chiqarilgan bo'lsa ham), 2.x esa to'liq tugallangan versiyadir. Ko'p odamlar 2.7.8 dan foydalanishni maslahat berishadi, chunki u amalda ortda qolmaydi yoki qulab tushmaydi. 3.x versiyasida tub o'zgarishlar yo'q, shuning uchun siz istalgan vaqtda yangilanish bilan kodingizni dasturlash muhitiga o'tkazishingiz mumkin. Kerakli dasturni yuklab olish uchun siz rasmiy veb-saytga kirishingiz, operatsion tizimingizni tanlashingiz va yuklab olish tugashini kutishingiz kerak.

Ushbu material dasturlash bilan allaqachon tanish bo'lgan va Python dasturlash tilini o'zlashtirmoqchi bo'lganlar uchun mo'ljallangan. U sizga 10 daqiqa ichida Python tilining xususiyatlarini, sintaksis xususiyatlarini va Python bilan ishlashning asosiy tamoyillarini misollar yordamida ko'rsatish uchun mo'ljallangan. Bu erda "suv" yo'q - dasturlash tili bilan bevosita bog'liq bo'lmagan ma'lumotlar. Boshlaymiz!

Python dasturlash tili kuchli yozish bilan ajralib turadi (Kuchli yozish tilning ifodalarda har xil turlarni aralashtirishga ruxsat bermasligi va avtomatik yashirin konversiyalarni amalga oshirmasligi bilan ajralib turadi, masalan, qatordan to'plamni ayirib bo'lmaydi), dinamik yozish qo'llaniladi - barcha turlar dasturni bajarish jarayonida aniqlanadi.

O'zgaruvchilarni e'lon qilish ixtiyoriy, nomlar katta-kichikligiga sezgir (var va VAR ikki xil o'zgaruvchidir).

Python - bu ob'ektga yo'naltirilgan tildir.

Yordam olish

Python-da yordam (yordam) har doim tarjimonda mavjud. Agar ob'ekt qanday ishlashini bilmoqchi bo'lsangiz, yordamga qo'ng'iroq qiling( ). Shuningdek foydali ko'rsatmalar ob'ektning barcha usullarini va ob'ektlarning xususiyatlarini ko'rsatadigan dir() dir .__doc__ sizga docstringni ko'rsatadi:

>>> help(5) Int obyekti bo‘yicha yordam: (va hokazo) >>> dir(5) ["__abs__", "__add__", ...] >>> abs.__doc__ "abs(raqam) -> raqam Argumentning mutlaq qiymatini qaytaring."

Python sintaksisi

Python-da bloklarni tugatish uchun konstruktsiyalar mavjud emas (masalan, sinf yoki funksiya deklaratsiyasi) - bloklar chekinish yordamida aniqlanadi. Blokning boshida chekinishni oshiring, blok oxirida kamaytiring. Chekishni talab qiladigan bayonotlar ikki nuqta (:) bilan tugatiladi. Agar sizda blokni boshlash bayonotidan keyin hali kodingiz bo'lmasa, sintaksis tekshiruvidan o'tish uchun o'tish bayonotini kiriting.

Rangelist == 1 bo'lganda: o'tish

Bir qatorli sharhlar xesh belgisi (#) bilan boshlanadi, ko'p qatorli sharhlar esa sharhning boshida va oxirida (""") dan foydalanadi.

Qiymatlar teng belgisi ("=") yordamida tayinlanadi (ob'ektlar aslida jarayonda nomlanadi).

Farq testi ikkita teng belgilar ("==") bilan amalga oshiriladi.

Siz += operatori yordamida qiymatni oshirishingiz va chap tomonda o'zgaruvchini va o'ng tomonda o'sish/kamaytirish sodir bo'ladigan qiymatni ko'rsatish orqali -= bilan kamaytirishingiz mumkin. Bu Python-dagi ko'plab ma'lumotlar turlari, shu jumladan satrlar bilan ishlaydi.

Bir qatorda bir nechta o'zgaruvchilarga qiymat belgilashingiz mumkin. Misollar:

>>> myvar = 3 >>> myvar += 2 >>> myvar 5 >>> myvar -= 1 >>> myvar 4 """Bu ko‘p qatorli izoh. Quyidagi satrlar ikkita qatorni birlashtiradi.""" >>> mystring = "Salom" >>> mystring += "dunyo." >>> mystring chop Salom dunyo. # Bu o'zgaruvchilarni bir qatorga almashtiradi(!). # Bu kuchli yozishni buzmaydi, chunki # qiymatlar aslida tayinlanmaydi, lekin yangi ob'ektlar # eski nomlar bilan bog'langan. >>> myvar, mystring = mystring, myvar

Python-da ma'lumotlar turlari

Python ro'yxatlar, kortejlar va lug'atlar kabi ma'lumotlar turlarini taqdim etadi. Python 2.5 dan oldingi versiyalarda to'plamlar modulidan foydalangan holda va keyingi versiyalarda tilga o'rnatilgan to'plamlar ham mavjud.

Ro'yxatlar bir o'lchovli massivlarga o'xshaydi. Boshqa ro'yxatlardan iborat ro'yxat bo'lishi mumkin.

Lug'atlar - bu kalit orqali ma'lumotlarga kirish mumkin bo'lgan assotsiativ massivlar.

Kortejlar o'zgarmas bir o'lchovli massivlardir.

Python-dagi "massivlar" har qanday turdagi bo'lishi mumkin, ya'ni siz raqamlar, satrlar va boshqa ma'lumotlar turlarini ro'yxatlar/lug'atlar/kortejlarda birlashtirishingiz mumkin.

Birinchi element indeksi 0 ga teng. Salbiy indeks qiymati oxirgidan birinchisigacha sanashni boshlaydi, [-1] oxirgi elementga ishora qiladi.

O'zgaruvchilar funktsiyalarga ishora qilishi mumkin.

>>> namuna = , ("a", "tuple")] >>> mylist = ["Ro'yxat 1", 2, 3.14] >>> mylist = "Ro'yxat 1-bandi" # Biz elementni o'zgartirmoqdamiz . >>> mylist[-1] = 3.21 # Bu yerda biz oxirgi elementga murojaat qilamiz >>> mydict = ("Kalit 1": "Qiymat 1", 2: 3, "pi": 3.14) >>>. mydict["pi"] = 3.15 # Lug'at qiymatlarini shunday o'zgartirasiz >>> mytuple = (1, 2, 3) >>> myfunction = len >>> myfunction(mylist) 3 ni chop eting.

Ikki nuqta (:) yordamida massivning bir bo'lagini (ro'yxat yoki kortej) olishingiz mumkin. Bo'sh qoldirish boshlang'ich qiymati indeks, siz birinchi qiymatdan boshlashni belgilaysiz, bo'sh yakuniy indeks qiymati massivning oxirgi elementini qabul qiladi. Salbiy indekslar massiv oxiridan orqaga qarab hisoblanadi (-1 oxirgi elementga ishora qiladi).

Misollarni ko'rib chiqing:

>>> mylist = ["Ro'yxat elementi 1", 2, 3.14] >>> ro'yxatni chop etish[:] ["Ro'yxat elementi 1", 2, 3.14000000000000001] >>> ro'yxatni chop etish ["Ro'yxat 1", 2] > >> chop mylist[-3:-1] ["Ro'yxat elementi 1", 2] >>> chop mylist # Uchinchi parametr qo'shilgan "qadam" 1 o'rniga # N element bosqichlarida Python qadamiga ega bo'ladi. # Masalan. , bu birinchi elementni qaytaradi, keyin uchinchisiga o'tadi va # uni qaytaradi (shunday qilib, 0-indekslashda 0 va 2-bandlar). >>> mylistni chop etish[::2] ["Ro‘yxat elementi 1", 3.14]

Python tilidagi satrlar

Satrni belgilash uchun apostrof (‘) yoki qo‘sh tirnoq (qo‘sh tirnoq - “) ishlatilishi mumkin. Bu sizga apostroflar bilan ko'rsatilgan satr ichida qo'shtirnoq qo'yish imkonini beradi (masalan, "U "salom" dedi." to'g'ri qatordir).

Ko'p qatorli satrlar uch apostrof yoki qo'shtirnoq (""") yordamida belgilanadi. Python unicodeni qutidan tashqarida qo'llab-quvvatlaydi. Biroq, Pythonning ikkinchi versiyasi unicode o'z ichiga olgan qatorni belgilash uchun (u) belgisidan foydalanadi: u"Bu unicode string." Python3 barcha satrlarida Unicode mavjud. Agar Python3 da oldingi versiyalarda asosan satr bo'lgan baytlar ketma-ketligi kerak bo'lsa, (b) belgisi ishlatiladi: b"Bu bayt qatori".

Parametr qiymatlarini satrga almashtirish uchun (%) operatori va kortejdan foydalaning. Har bir %s o‘rniga chapdan o‘ngga siljish elementi qo‘yiladi. Nomlangan parametrlarni almashtirish uchun lug'atdan ham foydalanishingiz mumkin:

>>>chop etish "Ism: %s\ Raqam: %s\ String: %s" % (myclass.name, 3, 3 * "-") Ism: Poromenos raqami: 3 String: --- strString = """ Bu ko'p qatorli satr.""" # OGOHLANTIRISH: "%(key)s" da keyingi s ga e'tibor bering. >>> chop etish "Bu %(fe'l)s a %(ism)s". % ("ism": "test", "fe'l": "is") Bu sinov.

Oqimni boshqarish ko'rsatmalari - if, for, while

If, for, while operatorlari dasturning bajarilish tartibini boshqarish uchun ishlatiladi. Buning o'rniga Python-da hech qanday kalit yoki case mavjud emas; For roʻyxat (yoki kortej) elementlarini takrorlash uchun ishlatiladi. Raqamlar ketma-ketligini olish uchun diapazondan foydalaning ( ). Loopning bajarilishini to'xtatish uchun break ishlatiladi.

Ushbu konstruktsiyaning sintaksisi quyidagicha:

Rangelist = diapazon(10) >>> diapazon roʻyxatidagi raqamlar uchun diapazon roʻyxatini chop eting: # Raqam kortejdagi # raqamlardan biri ekanligini tekshiring. agar (3, 4, 7, 9) dagi raqam: # "Break" for ni # "else" bandini bajarmasdan tugatadi. break else: # "Davom etish" tsiklning navbatdagi # iteratsiyasini boshlaydi. Bu erda juda befoyda, chunki # bu tsiklning oxirgi bayonoti. continue else: # "else" bandi ixtiyoriydir va agar tsikl "buzilmasa" bajariladi # Agar diapazon ro'yxati == 2 bo'lsa: chop eting "Ikkinchi element (ro'yxatlar 0 ga asoslangan) 2 ga teng. " elif rangelist == 3: chop eting "Ikkinchi element (roʻyxatlar 0 ga asoslangan) 3" aks holda: diapazon roʻyxati == 1 boʻlganda “Bilmayman” deb chop eting: oʻtish

Pythonda funksiyalar

Funktsiyalar "def" kalit so'zi yordamida e'lon qilinadi. Ixtiyoriy argumentlar funksiya deklaratsiyasida talab qilinganlardan keyin paydo bo'ladi va ularga standart qiymat beriladi. Funksiyani chaqirayotganda siz argumentlarni ularning nomi va qiymatini ko‘rsatib, ba’zi ixtiyoriy argumentlarni qoldirib yoki funksiyada e’lon qilinganidan farqli tartibda joylashtirishingiz mumkin.

Funktsiyalar kortejni qaytarishi mumkin va kortejni ochishdan foydalanib, siz bir nechta qiymatlarni qaytarishingiz mumkin.

Lambda funksiyalari bitta argumentni qayta ishlovchi maxsus funksiyalardir.

Parametrlar mos yozuvlar orqali uzatiladi. O'tgan ro'yxatga elementlarni qo'shish orqali siz funktsiyadan tashqarida yangilangan ro'yxatni olasiz. Bunday holda, funktsiya ichidagi parametrlarga yangi qiymat berish mahalliy harakat bo'lib qoladi. O'tkazish faqat xotira manzilini o'tkazganligi sababli, parametrga o'zgaruvchi sifatida yangi ob'ektni belgilash yangi ob'ekt yaratilishiga olib keladi.

Kod misollari:

# Def funcvar(x) bilan bir xil: return x + 1 funcvar = lambda x: x + 1 >>> print funcvar(1) 2 # an_int va a_string ixtiyoriy, agar bittasi o‘tkazilmagan bo‘lsa, ularda standart qiymatlar # bo‘ladi ( 2 va mos ravishda "Standart satr"). def passing_example(a_list, an_int=2, a_string="Birlamchi qator"): a_list.append("Yangi element") an_int = 4 a_list, an_int, a_stringni qaytaring >>> my_list = >>> my_int = 10 >> > o'tish_misolini (mening_ro'yxatim, my_int) (, 4, "Birlamchi qator") >>> my_list >>> my_int 10 ni chop etish

Python darslari

Python sinflarda bir nechta merosning cheklangan shaklini qo'llab-quvvatlaydi.

Xususiy o'zgaruvchilar va usullarni e'lon qilish mumkin (odatda, bu tarjimon tomonidan tekshirilmaydi) ismning boshida ikkita pastki chiziq va bittadan ko'p bo'lmagan holda (masalan: "__spam").

Shuningdek, biz sinf misollariga o'zboshimchalik bilan nom berishimiz mumkin. Misollarni ko'rish:

Sinf MyClass(obyekt): umumiy = 10 def __init__(self): self.myvariable = 3 def myfunction(self, arg1, arg2): return self.myvariable # Bu sinfning namunasi >>> classinstance = MyClass() >> > classesinstance.myfunction(1, 2) 3 # Bu o'zgaruvchi barcha sinflar tomonidan taqsimlanadi. >>> classinstance2 = MyClass() >>> classinstance.common 10 >>> classinstance2.common 10 # Biz misol o‘rniga # sinf nomidan qanday foydalanishimizga e’tibor bering. >>> MyClass.common = 30 >>> classinstance.common 30 >>> classinstance2.common 30 # Bu sinfdagi o‘zgaruvchini yangilamaydi, # o‘rniga eski # o‘zgaruvchi nomiga yangi obyektni bog‘laydi. >>> classinstance.common = 10 >>> classinstance.common 10 >>> classinstance2.common 30 >>> MyClass.common = 50 # Bu o'zgarmadi, chunki "umumiy" # endi misol o'zgaruvchisi. >>> classinstance.common 10 >>> classinstance2.common 50 # Bu sinf MyClass-dan meros bo'lib o'tadi. Yuqoridagi # sinf misoli "ob'ekt" dan meros bo'lib, uni # "yangi uslubdagi sinf" deb ataydi. # Bir nechta meros quyidagi tarzda e'lon qilinadi: # sinf BoshqaClass(MyClass1, MyClass2, MyClassN) sinf BoshqaClass(MyClass): # "O'z-o'zidan" argumenti avtomatik ravishda # uzatiladi va sinf misoliga ishora qiladi, shuning uchun siz # misol o'zgaruvchilarini yuqoridagi kabi o'rnatishingiz mumkin, lekin sinf ichidan def __init__(self, arg1): self.myvariable = 3 print arg1 >> > classinstance = OtherClass("salom") salom >>> classinstance.myfunction(1, 2) 3 # Bu sinfda .test a'zosi yo'q, lekin # biz baribir misolga bittasini qo'shishimiz mumkin. E'tibor bering # bu faqat classinstance a'zosi bo'ladi. >>> classinstance.test = 10 >>> classinstance.test 10

Pythonda istisnolar

Python-dagi istisnolar try-except bloklarida ko'rib chiqiladi:

Def some_function(): urinib ko'ring: # Nolga bo'linish 10/0 istisnoni keltirib chiqaradi, bundan mustasno ZeroDivisionError: "Op, yaroqsiz" deb chop eting. boshqa: # Istisno sodir bo'lmadi, biz yaxshimiz. pass finally: # Bu kod bloki ishga tushirilgandan so'ng bajariladi # va barcha istisnolar ishlov berilgandan so'ng, hatto # ishlov berish paytida yangi istisno paydo bo'lsa ham. “Buni tugatdik” deb chop eting. >>> some_function() Ha, yaroqsiz. Buni tugatdik.

Python-da modullarni import qilish

Tashqi kutubxonalar import kalit so'zidan foydalangan holda importdan keyin ishlatiladi. Maxsus funktsiyalarni import qilish uchun importdan ham foydalanishingiz mumkin.

Vaqtdan tasodifiy import qilish import soati randomint = random.randint(1, 100) >>> print randomint 64

Python da fayllar bilan ishlash

Python-da fayllar bilan ishlash uchun juda ko'p kutubxonalar mavjud. Masalan, ketma-ketlashtirish (ma'lumotlarni tuzlangan kutubxona yordamida satrlarga aylantirish):

Import bodring mylist = ["Bu", "is", 4, 13327] # Yozish uchun C:\\binary.dat faylini oching. # fayl nomi qatoridan oldingi r harfi teskari chiziqdan qochish uchun ishlatiladi. myfile = open(r"C:\\binary.dat", "w") pickle.dump(mylist, myfile) myfile.close() myfile = open(r"C:\\text.txt", "w" ) myfile.write("Bu namuna qatori") myfile.close() myfile = open(r"C:\\text.txt") >>> print myfile.read() "Bu namuna qator" myfile .close() # O'qish uchun faylni oching. myfile = open(r"C:\\binary.dat") loadedlist = pickle.load(myfile) myfile.close() >>> yuklanganlar ro‘yxatini chop etish ["Bu", "is", 4, 13327]

Turli xil

  • Shartlar bir-biriga yopishishi mumkin, masalan, 1< a < 3 проверит, что a одновременно меньше 3 и больше 1.
  • Massivlardagi o'zgaruvchilar yoki elementlarni o'chirish uchun del dan foydalanishingiz mumkin.
  • Ro'yxatlar juda kuchli ma'lumotlarni manipulyatsiya qilish imkoniyatlarini beradi. If yoki for iboralaridan keyin for dan foydalanib ifoda yaratishingiz mumkin:
>>> lst1 = >>> lst2 = >>> print >>> print # Har qanday element uchun shart to‘g‘ri yoki yo‘qligini tekshiring. # "har qanday" ro'yxatdagi biror element rost bo'lsa, rostni qaytaradi. >>> any()) True # Buning sababi, 4 % 3 = 1 va 1 rost, shuning uchun any() # rostni qaytaradi. # Shart qancha to'g'ri ekanligini tekshiring. >>> sum(1 uchun i in, agar i == 4) 2 >>> del lst1 >>> lst1ni chop etish >>> del lst1
  • Global o'zgaruvchilar funksiyalar tashqarisida e'lon qilinadi va ularni ichida maxsus deklaratsiyalarsiz o'qish mumkin, lekin agar siz ularni yozmoqchi bo'lsangiz, maxsus "global" kalit so'zidan foydalanib, funktsiyaning boshidan e'lon qilishingiz kerak, aks holda Python yangi qiymatni quyidagiga tayinlaydi. mahalliy o'zgaruvchi:
number = 5 def myfunc(): # Bu chop etadi 5. chop etish raqami def anotherfunc(): # Bu istisno keltirib chiqaradi, chunki o'zgaruvchi chop etishdan oldin # bog'lanmagan. Python # ob'ekt keyinchalik unga bog'lanishini biladi va global ob'ektga kirish o'rniga yangi, mahalliy # ob'ektni yaratadi. chop etish raqami = 3 def yetanotherfunc(): global raqam # Bu global raqamni to'g'ri o'zgartiradi. raqam = 3

Python dasturlash tilini qanday o'rganish mumkin

Ushbu material Python bo'yicha to'liq qo'llanma bo'lishi uchun mo'ljallanmagan. Python dasturlash tilida juda ko'p kutubxonalar va turli xil funksiyalar mavjud bo'lib, siz til bilan ishlashda va qo'shimcha manbalarni o'rganishda tanish bo'lasiz.

Agar taqdim etilgan ma'lumotlar siz uchun etarli bo'lmasa, Python dasturlash tilini tavsiflovchi kengaytirilgan materialga qarang - u til haqida batafsil ma'lumot beradi.

Boshqa materiallar qatorida men Python The Hard Way o'rganishni tavsiya qilaman. Va, albatta, Python 2 o'quv qo'llanmasi va Python 3 darsligi.

Stavros Korokithakisga "Python-ni 10 daqiqada o'rganing" qo'llanmasi uchun katta rahmat.

Agar siz ushbu materialda biror narsani yaxshilashni istasangiz, sharhlarda yozing.

Python - bu mashhur va kuchli skript tili bo'lib, uning yordamida siz xohlagan narsani qilishingiz mumkin. Masalan, siz veb-saytlarni ko'rib chiqishingiz va ulardan ma'lumotlarni to'plashingiz, tarmoqlar va vositalarni yaratishingiz, hisob-kitoblarni amalga oshirishingiz, Raspberry Pi uchun dasturlashingiz, grafik dasturlarni ishlab chiqishingiz va hatto video o'yinlar yaratishingiz mumkin. Python-da siz \\ platformadan mustaqil tizim dasturlarini yozishingiz mumkin.

Ushbu maqolada biz Python-da dasturlash asoslarini ko'rib chiqamiz, biz tildan foydalanishni boshlashingiz kerak bo'lgan barcha asosiy xususiyatlarni qamrab olishga harakat qilamiz. Biz turli muammolarni hal qilish uchun sinflar va usullardan foydalanishni ko'rib chiqamiz. Siz tilning asoslari va sintaksisi bilan allaqachon tanish bo'lgan deb taxmin qilinadi.

Python nima?

Men tilning yaratilish va rivojlanish tarixiga kirmayman, buni quyida ilova qilinadigan videodan osongina bilib olishingiz mumkin. Shuni ta'kidlash kerakki, Python skript tilidir. Bu sizning kodingiz xatolar uchun tekshirilganligini va hech qanday qo'shimcha kompilyatsiya yoki qayta ishlamasdan darhol bajarilganligini anglatadi. Ushbu yondashuv, shuningdek, izohli deb ataladi.

Bu hosildorlikni pasaytiradi, lekin juda qulay. Tarjimon mavjud, unda siz buyruqlarni kiritishingiz va ularning natijalarini darhol ko'rishingiz mumkin. Bunday interaktiv ish o'rganishda katta yordam beradi.

Tarjimonda ishlash

Python tarjimonini ishga tushirish har qanday operatsion tizimda juda oson. Masalan, Linuxda terminalda python buyrug'ini kiriting:

Ochilgan tarjimon so'rovida biz hozirda ishlatilayotgan Python versiyasini ko'ramiz. Hozirgi vaqtda Python 2 va Python 3 ning ikkita versiyasi juda keng tarqalgan, chunki ular birinchisida ko'plab dasturlar va kutubxonalar ishlab chiqilgan, ikkinchisi esa ko'proq imkoniyatlarga ega. Shuning uchun tarqatishlar ikkala versiyani ham o'z ichiga oladi. Odatiy bo'lib, ikkinchi versiya ishga tushiriladi. Ammo agar sizga 3-versiya kerak bo'lsa, unda quyidagilarni qilishingiz kerak:

Bu ushbu maqolada ko'rib chiqiladigan uchinchi versiya. Endi bu tilning asosiy xususiyatlarini ko'rib chiqamiz.

String operatsiyalari

Pythondagi satrlar o'zgarmasdir; siz satrdagi belgilardan birini o'zgartira olmaysiz. Tarkibdagi har qanday o'zgarish yangi nusxa yaratishni talab qiladi. Tarjimonni oching va yozilganlarni yaxshiroq tushunish uchun quyida keltirilgan misollarga amal qiling:

1. Satrlarni birlashtirish

str = "pythonga " + "xush kelibsiz"
chop etish (str)

2. Satrlarni ko‘paytirish

str = "Yo'qotilgan" * 2
chop etish (str)

3. Transformatsiya bilan birlashish

Siz satrni raqam yoki mantiqiy qiymat bilan birlashtirishingiz mumkin. Ammo buning uchun siz transformatsiyadan foydalanishingiz kerak. Buning uchun str() funksiyasi mavjud:

str = "Bu test raqami" + str(15)
chop etish (str)

4. Pastki qatorni qidiring

Find usuli yordamida belgi yoki pastki qatorni topishingiz mumkin:

str = "Saytga xush kelibsiz"
chop etish(str.find("sayt"))

Bu usul, agar topilmasa, pastki satrning birinchi paydo bo'lishining o'rnini ko'rsatadi, keyin -1 qiymati qaytariladi. Funktsiya qidiruvni birinchi belgidan boshlaydi, lekin siz n-belgidan boshlashingiz mumkin, masalan, 26:

str = "Sayt saytiga xush kelibsiz"
print(str.find("yo'qolgan",26))

Ushbu variantda funktsiya -1ni qaytaradi, chunki satr topilmadi.

5. Pastki qatorni olish

Biz izlayotgan pastki qatorning o'rnini oldik va endi pastki qatorning o'zini qanday olish mumkin va undan keyin nima keladi? Buning uchun ushbu sintaksisdan foydalaning [start: end], faqat ikkita raqamni yoki faqat birinchisini ko'rsating:

str = "Bir ikki uch"
chop etish (str[:2])
chop etish(str)
chop etish(str)
chop etish (str[-1])

Birinchi qator pastki qatorni birinchi belgidan ikkinchi belgigacha, ikkinchisi - ikkinchisidan oxirigacha chop etadi. Iltimos, ortga hisoblash noldan boshlanishini unutmang. Orqaga hisoblash uchun manfiy raqamdan foydalaning.

6. Substratni almashtirish

Siz almashtirish usuli yordamida satrning bir qismini almashtirishingiz mumkin:

str = "Ushbu sayt Linux haqida"
str2 = str.replace("Linux", "Windows")
chop etish (str2)

Agar ko'p holatlar bo'lsa, siz faqat birinchisini almashtirishingiz mumkin:

str = "Bu Linux haqida sayt va men ushbu saytga obunaman"
str2 = str.replace("sayt", "sahifa",1)
chop etish (str2)

7. Iplarni tozalash

Chiziq funktsiyasidan foydalanib, qo'shimcha bo'shliqlarni olib tashlashingiz mumkin:

str = "Bu Linux haqida veb-sayt"
chop etish (str.strip())

Qo'shimcha bo'shliqlarni faqat rstrip bilan o'ng tomonda yoki faqat chap tomonda lstrip bilan olib tashlashingiz mumkin.

8. Registrni o'zgartirish

Belgilar katta-kichikligini o'zgartirish uchun maxsus funktsiyalar mavjud:

str="Lostga xush kelibsiz"
chop (str.upper())
chop etish (str.lower())

9. Satrlarni konvertatsiya qilish

Satrni har xil raqamli turlarga aylantirish uchun bir nechta funksiyalar mavjud, ular int(), float(), long() va boshqalar. int() funktsiyasi butun songa va float() suzuvchi nuqta raqamiga o'zgartiradi:

str="10"
str2="20"
chop etish (str+str2)
chop etish (int(str)+int(str2))

10. Chiziqlar uzunligi

Qatordagi belgilar sonini hisoblash uchun min(), max(), len() funksiyalaridan foydalanishingiz mumkin:

str="Losst veb-saytiga xush kelibsiz"
chop etish (min(str))
chop etish (maks.(str))
chop (len(str))

Birinchisi minimal belgilar hajmini, ikkinchisi maksimal, uchinchisi esa chiziqning umumiy uzunligini ko'rsatadi.

11. Satr ustida takrorlash

Siz for tsikli yordamida satrning har bir belgisiga alohida kirishingiz mumkin:

str="Saytga xush kelibsiz"
diapazondagi i uchun(len(str)):
chop etish (str[i])

Loopni cheklash uchun biz len() funksiyasidan foydalandik. Chiziqga e'tibor bering. Python dasturlash bunga asoslanadi, bloklarni tartibga solish uchun qavslar yo'q, shunchaki chekinish.

Raqamlar bilan operatsiyalar

Python-dagi raqamlarni e'lon qilish yoki usullarda ishlatish juda oson. Siz butun sonlar yoki suzuvchi nuqta raqamlarini yaratishingiz mumkin:

soni 1 = 15
soni 2 = 3.14

1. Raqamlarni yaxlitlash

Raqamni dumaloq funksiyadan foydalanib yaxlitlash mumkin, qancha raqam qoldirishni belgilang:

a=15,5652645
chop etish (dumaloq(a,2))

2. Tasodifiy sonlarni hosil qilish

Oling tasodifiy raqamlar tasodifiy moduldan foydalanishingiz mumkin:

tasodifiy import qilish
chop etish (random.random())

Odatiy bo'lib, raqam 0,0 dan 1,0 oralig'ida hosil bo'ladi. Lekin siz o'zingizning diapazoningizni o'rnatishingiz mumkin:

tasodifiy import qilish
raqamlar =
chop etish (tasodifiy tanlash (raqamlar))

Sana va vaqt bilan operatsiyalar

Python dasturlash tilida sana va vaqt bilan turli operatsiyalarni bajarish imkonini beruvchi DateTime moduli mavjud:

import sanasi
cur_date = datetime.datetime.now()
chop etish (joriy_sana)
chop etish (kursi_date.yil)
chop etish (cur_date.day)
chop etish (cur_date.weekday())
chop etish (kursi_date.oy)
chop etish (cur_date.time())

Misol qanday chiqarish kerakligini ko'rsatadi istalgan qiymat ob'ektdan. Ikki ob'ekt o'rtasidagi farqni olishingiz mumkin:

import sanasi
time1 = datetime.datetime.now()
time2 = datetime.datetime.now()
vaqt diff = vaqt2 - vaqt1
chop etish (vaqt. mikrosekundlar)

Siz ixtiyoriy qiymat bilan sana ob'ektlarini o'zingiz yaratishingiz mumkin:

time1 = datetime.datetime.now()
time2 = datetime.timedelta(kun=3)
vaqt3=vaqt1+vaqt2
chop etish (time3.date())

1. Sana va vaqtni formatlash

strftime usuli tanlangan standart yoki belgilangan formatga qarab sana va vaqt formatini o'zgartirish imkonini beradi. Bu erda asosiy formatlash belgilari:

  • %a- haftaning kuni, qisqartirilgan nomi;
  • %A- haftaning kuni, to'liq ismi;
  • %w- hafta kunining soni, 0 dan 6 gacha;
  • %d- oyning kuni;
  • %b- oyning qisqartirilgan nomi;
  • %B- oyning to'liq nomi;
  • %m- oy raqami;
  • %Y- yil raqami;
  • %H- 24 soat formatida kunning soati;
  • %l- 12 soatlik formatdagi kunning soati;
  • %p- AM yoki PM;
  • %M- daqiqa;
  • %S- ikkinchi.

import sanasi
date1 = datetime.datetime.now()
chop etish(date1.strftime("%d. %B %Y %I:%M%p"))

2. Satrdan sana yarating

Stringdan sana obyektini yaratish uchun strptime() funksiyasidan foydalanishingiz mumkin:

import sanasi
date1=datetime.datetime.strptime("2016-11-21", "%Y-%m-%d")
sana2=datetime.datetime(yil=2015, oy=11, kun=21)
chop etish (sana 1);
chop etish (sana 2);

Fayl tizimi operatsiyalari

Python dasturlash tilida fayllarni boshqarish juda oson, bu fayllar bilan ishlash uchun eng yaxshi tildir. Va umuman olganda, Python eng oddiy til deb aytishimiz mumkin.

1. Fayllardan nusxa olish

Fayllarni nusxalash uchun siz subutil modulidagi funktsiyalardan foydalanishingiz kerak:

import shutil
new_path = shutil.copy("file1.txt", "file2.txt")

new_path = shutil.copy("file1.txt", "file2.txt", follow_symlinks=False)

2. Fayllarni ko'chirish

Fayllarni ko'chirish ko'chirish funktsiyasi yordamida amalga oshiriladi:

shutil.move("file1.txt", "file3.txt")

OS modulidagi qayta nomlash funksiyasi fayllarni qayta nomlash imkonini beradi:

import os
os.rename("file1.txt", "file3.txt")

3. Matnli fayllarni o‘qish va yozish

Siz fayllarni ochish, ularga ma'lumotlarni o'qish yoki yozish uchun o'rnatilgan funktsiyalardan foydalanishingiz mumkin:

fd = open("file1.txt")
kontent = fd.read()
chop etish (tarkib)

Avval faylni ochish funksiyasidan foydalanib ishlash uchun ochishingiz kerak. Fayldan ma'lumotlarni o'qish uchun o'qish funktsiyasidan foydalaniladi, o'qilgan matn o'zgaruvchiga saqlanadi. O'qilishi kerak bo'lgan baytlar sonini belgilashingiz mumkin:

fd = open("file1.txt")
kontent = fd.read(20)
chop etish (tarkib)

Agar fayl juda katta bo'lsa, siz uni qatorlarga bo'lishingiz va uni quyidagicha qayta ishlashingiz mumkin:

kontent = fd.readlines()
chop etish (tarkib)

Faylga ma'lumotlarni yozish uchun avval uni yozish uchun ochish kerak. Ikkita ish rejimi mavjud - faylni qayta yozish va oxiriga qo'shish. Yozib olish rejimi:

fd = open("file1.txt", "w")

Va faylning oxiriga qo'shing:

fd = open("file1.txt", "a")
kontent = fd.write ("Yangi tarkib")

4. Kataloglarni yaratish

Katalog yaratish uchun os modulidagi mkdir funksiyasidan foydalaning:

import os
os.mkdir("./yangi jild")

5. Yaratilish vaqtini olish

Oxirgi o'zgartirilgan, oxirgi kirish va yaratilgan vaqtlarni olish uchun getmtime(), getatime() va getctime() funksiyalaridan foydalanishingiz mumkin. Natija Unix formatida chiqariladi, shuning uchun uni o'qilishi mumkin bo'lgan shaklga aylantirish kerak:

import os
import sanasi
tim=os.path.getctime("./file1.txt")
chop etish (datetime.datetime.fromtimestamp(tim))

6. Fayllar ro'yxati

listdir() funksiyasi yordamida siz papkadagi fayllar ro'yxatini olishingiz mumkin:

import os
fayllar = os.listdir(".")
chop etish (fayllar)

Xuddi shu muammoni hal qilish uchun siz glob modulidan foydalanishingiz mumkin:

import globus
files=glob.glob("*")
chop etish (fayllar)

7. Python obyektlarini ketma-ketlashtirish

import tuzlangan
fd = open("myfile.pk ", "wb")
pickle.dump(mydata,fd)

Keyin ob'ektni tiklash uchun foydalaning:

import tuzlangan
fd = open("myfile.pk ", "rb")
mydata = pickle.load(fd)

8. Fayllarni siqish

Python standart kutubxonasi turli xil arxiv formatlari bilan ishlash imkonini beradi, masalan, zip, tar, gzip, bzip2. Fayl mazmunini ko'rish uchun quyidagilardan foydalaning:

zip faylini import qiling
my_zip = zipfile.ZipFile("mening_fayl.zip", mode="r")
chop etish (file.namelist())

Va zip arxivini yaratish uchun:

zip faylini import qiling
file=zipfile.ZipFile("files.zip", "w")
file.write("file1.txt")
file.close()

Siz shuningdek arxivni ochishingiz mumkin:

zip faylini import qiling
file=zipfile.ZipFile("files.zip", "r")
file.extractall()
file.close()

Fayllarni arxivga quyidagi tarzda qo'shishingiz mumkin:

zip faylini import qiling
file=zipfile.ZipFile("files.zip", "a")
file.write("file2.txt")
file.close()

9. CSV va Excel fayllarini tahlil qilish

Pandas modulidan foydalanib, siz CSV va Excel jadvallari tarkibini ko'rishingiz va tahlil qilishingiz mumkin. Avval modulni pip yordamida o'rnatishingiz kerak:

sudo pip o'rnatish pandalar

Keyin tahlil qilish uchun yozing:

pandalarni import qilish
data=pandas.read_csv("file.csv)

Odatiy bo'lib, pandalar har bir satrning sarlavhalari uchun birinchi ustundan foydalanadi. index_col parametridan foydalanib indeks uchun ustunni belgilashingiz mumkin yoki kerak bo'lmasa False ni belgilashingiz mumkin. Faylga o'zgartirishlar yozish uchun to_csv funksiyasidan foydalaning:

data.to_csv("file.csv)

Excel faylini xuddi shu tarzda tahlil qilishingiz mumkin:

ma'lumotlar = pd.read_excel("file.xls", varaq nomi="Sheet1")

Agar siz barcha jadvallarni ochishingiz kerak bo'lsa, quyidagilarni foydalaning:

ma'lumotlar = pd.ExcelFile("file.xls")

Keyin barcha ma'lumotlarni qayta yozishingiz mumkin:

data.to_excel("file.xls", varaq="Sheet1")

Python-da tarmoq

Python 3 dasturlash ko'pincha tarmoqni o'z ichiga oladi. Python standart kutubxonasi past darajadagi tarmoqqa kirish uchun soket imkoniyatlarini o'z ichiga oladi. Bu bir nechta tarmoq protokollarini qo'llab-quvvatlash uchun kerak.

import rozetkasi
xost = "192.168.1.5"
port = 4040
my_sock = socket.create_connection ((host, port))

Ushbu kod 192.168.1.5 mashinasidagi 4040 portga ulanadi. Rozetka ochiq bo'lsa, siz ma'lumotlarni yuborishingiz va qabul qilishingiz mumkin:

my_sock.sendall(b"Salom dunyo")

Biz satrdan oldin b belgisini yozishimiz kerak, chunki biz ikkilik rejimda ma'lumotlarni uzatishimiz kerak. Agar xabar juda katta bo'lsa, siz takrorlashingiz mumkin:

msg = b"Uzoqroq xabar shu erda keladi"
mesglen = len (xabar)
jami = 0
jami esa< msglen:
yuborilgan = my_sock.send(xabar)
jami = jami + yuborilgan

Ma'lumot olish uchun siz rozetkani ham ochishingiz kerak, ammo my_sock_recv usulidan foydalaning:

data_in = my_sock.recv (2000)

Bu erda biz qancha ma'lumot olish kerakligini ko'rsatamiz - 20000, ma'lumotlar 20000 bayt ma'lumot olinmaguncha o'zgaruvchiga o'tkazilmaydi. Agar xabar kattaroq bo'lsa, uni qabul qilish uchun siz halqa yaratishingiz kerak:

bufer = bytearray(b" "* 2000)
my_sock.recv_into(bufer)

Agar bufer bo'sh bo'lsa, u erda qabul qilingan xabar yoziladi.

Pochta bilan ishlash

Python standart kutubxonasi elektron pochta xabarlarini qabul qilish va yuborish imkonini beradi.

1. POP3 serveridan xatlarni qabul qilish

Xabarlarni qabul qilish uchun biz POP serveridan foydalanamiz:

import getpass, poplib
pop_serv = poplib.POP3("192.168.1.5")
pop_serv.user("foydalanuvchim")
pop_serv.pass_(getpass.getpass())

Getpass moduli foydalanuvchi parolini ekranda ko'rsatilmasligi uchun xavfsiz tarzda olish imkonini beradi. Agar POP server xavfsiz ulanishdan foydalansa, siz POP3_SSL sinfidan foydalanishingiz kerak. Agar ulanish muvaffaqiyatli bo'lsa, siz server bilan ishlashingiz mumkin:

msg_list = pop_serv.list() # xabarlarni ro'yxatga olish uchun
msg_count = pop_serv.msg_count()

Ishni tugatish uchun quyidagilardan foydalaning:

2. IMAP serveridan xatlarni qabul qilish

IMAP serveriga ulanish va u bilan ishlash uchun imaplib modulidan foydalaning:

import imaplib, getpass
my_imap = imaplib.IMAP4("imap.server.com")
my_imap.login("foydalanuvchim", getpass.getpass())

Agar IMAP serveringiz xavfsiz ulanishdan foydalansa, siz IMAP4_SSL sinfidan foydalanishingiz kerak. Xabarlar ro'yxatini olish uchun:

ma'lumotlar = my_imap.search (Yo'q, "HAMMA")

Keyin tanlangan roʻyxatni aylanib chiqishingiz va har bir xabarni oʻqishingiz mumkin:

msg = my_imap.fetch(email_id, "(RFC822)")

Biroq, ulanishni yopishni unutmang:

my_imap.close()
my_imap.logout()

3. Pochta jo'natish

Xat yuborish uchun SMTP protokoli va smtplib moduli ishlatiladi:

import smtplib, getpass
my_smtp = smtplib.SMTP(smtp.server.com")
my_smtp.login("myuser", getpass.getpass())

Avvalgidek, xavfsiz ulanish uchun SMTP_SSL dan foydalaning. Ulanish o'rnatilganda siz quyidagi xabarni yuborishingiz mumkin:

from_addr = " [elektron pochta himoyalangan]"
to_addr = " [elektron pochta himoyalangan]"
msg = "Kimdan: [elektron pochta himoyalangan]\r\nKimga: [elektron pochta himoyalangan]\r\n\r\nSalom, bu sinov xabari"
my_smtp.sendmail(from_addr, to_addr, msg)

Veb-sahifalar bilan ishlash

Python dasturlash ko'pincha veb bilan ishlash uchun turli skriptlarni yozish uchun ishlatiladi.

1. Internetda skanerlash

Urllib moduli veb-sahifalarni turli yo'llar bilan so'rash imkonini beradi. Muntazam so'rov yuborish uchun so'rov sinfidan foydalaning. Masalan, oddiy sahifa so'rovini bajaramiz:

import urllib.request
my_web = urllib.request.urlopen("https://www.google.com")
chop etish (my_web.read())

2. POST usulidan foydalanish

Agar veb-shaklni yuborish kerak bo'lsa, siz GET emas, balki POST so'rovidan foydalanishingiz kerak:

import urllib.request
mydata = b "Ma'lumotlaringiz shu erda"
my_req = urllib.request.Request("http://localhost", data=mydata,method="POST")
my_form = urllib.request.urlopen (mening_req)
chop etish (mening_form.status)

3. Web server yarating

Socket sinfidan foydalanib, siz kiruvchi ulanishlarni qabul qilishingiz mumkin, ya'ni minimal imkoniyatlarga ega veb-server yaratishingiz mumkin:

import rozetkasi
xost = ""
port = 4242
my_server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
my_server.bind((host, port))
my_server.listen(1)

Server yaratilganda. ulanishlarni qabul qilishni boshlashingiz mumkin:

addr = my_server.accept()
print("Xostdan ulangan", manzil)
maʼlumotlar = conn.recv(1024)

Va ulanishni yopishni unutmang:

Ko'p tarmoqli

Ko'pchilik kabi zamonaviy tillar Python sizga bir nechta parallel iplarni ishga tushirish imkonini beradi, bu murakkab hisob-kitoblarni bajarish kerak bo'lganda foydali bo'lishi mumkin. Standart kutubxonada Therad sinfini o'z ichiga olgan tishlash moduli mavjud:

import iplari
def print_message():
print("Xabar boshqa mavzudan chop etildi")
my_thread = threading.Thread(maqsad=chop_xabar)
my_thread.start()

Agar funktsiya juda uzoq vaqt ishlayotgan bo'lsa, is_alive() funktsiyasidan foydalanib, hamma narsa yaxshi yoki yo'qligini tekshirishingiz mumkin. Ba'zan sizning mavzularingiz global manbalarga kirishi kerak. Buning uchun qulflar ishlatiladi:

import iplari
soni = 1
my_lock = threading.Lock()
def my_func():
global raqam, my_lock
my_lock.acquire()
summa = son + 1
chop etish (sum)
my_lock.release()
my_thread = threading.Thread(maqsad=mening_funksiyam)
my_thread.start()

xulosalar

Ushbu maqolada biz python dasturlash asoslarini ko'rib chiqdik. Endi siz eng ko'p ishlatiladigan funktsiyalarni bilasiz va ularni kichik dasturlaringizda ishlatishingiz mumkin. Python 3 da dasturlashni yoqtirasiz, bu juda oson! Agar sizda biron bir savol bo'lsa, sharhlarda so'rang!

Maqolani yakunlash uchun Python bo'yicha ajoyib ma'ruza mavjud:

Python hozirgi TIOBE reytingiga ko'ra eng mashhur dasturlash tillaridan biridir. Bu erda ko'plab dasturchilar o'z kareralarini o'z uylarida yoki universitetlarida boshlaydilar. Tilni o'zingiz tushunishingiz qiyin bo'lmaydi. Unda dasturlash estetik zavq va yaxshi daromad keltiradi. Hatto tajribasiz dasturchi ham qisqa va oson o'qiladigan kodni olishi mumkin. go'zal va juda kuchli tildir.

Tilning keng tarqalishi tufayli uning atrofida ko'plab afsonalar, afsonalar va sirlar mavjud. Ko'pgina yangi dasturchilar Python nima uchun bugungi dunyoda juda foydali ekanligini tushunishmaydi. Shuning uchun biz qisqacha sharh tuzishga qaror qildik.

Python qayerda ishlatiladi?

Pythonning bir nechta asosiy funktsional afzalliklari:

  • xml/html kengaytmalari bilan ishlay oladi;
  • http so'rovlarini boshqarishni qo'llab-quvvatlaydi;
  • Grafik interfeysga ega;
  • Veb-skriptlarni yaratishga yordam beradi;
  • FTP bilan ishlay oladi;
  • Rasmlar, videolar va ovozli fayllar bilan ishlash imkoniyati;
  • Robot texnikasini ishlab chiqishda foydalaniladi;
  • Ilmiy, hisoblash platformalari va boshqa ko'p narsalarni yaratish uchun mas'ul.

Aytish mumkinki, Python dasturchilarning kundalik vazifalarini bajarish uchun juda yaxshi. Oddiy zaxira nusxalarini yaratishda yoki pochtadan xatlarni o'qishda va katta o'yinlarni ishlab chiqishda ishtirok etadi. Python-da foydalanish sohalarida deyarli hech qanday cheklovlar yo'q, bu uni ulkan miqyosdagi loyihalarda qo'llash imkonini beradi. Asossiz bo'lmaslik uchun Python ko'pincha IT olamining kitlari - Google va Yandex tomonidan qo'llaniladi. Bunga dasturlar yaratish qulayligini qo'shing va Python nima uchun eng yaxshi tillar ro'yxatidan joy olishga loyiqligini tushunish oson.

Bu aql bovar qilmaydigan darajada kuchli dasturlash tili bo'lib, uni hatto o'rta maktab o'quvchisi ham darsdan keyin o'rgansa, o'rganishi mumkin. Python-da ishlashni boshlash uchun, avvalo, til tarqatish to'plamini yuklab olish uchun rasmiy veb-resursga kirishingiz kerak. Saytda bir tonna bor foydali ma'lumotlar kodlash qoidalari va tilning kengaytirilishi haqida.

Tilning qamrovi oddiy ilovalarni ishlab chiqishdan ancha oshadi. U o'yinlarni ishlab chiqish, veb-dasturlash va boshqalarda qo'llaniladi. Bunday sohalarda ishlash uchun siz faqat tegishli ramkani tanlashingiz, yuklab olishingiz va o'rnatishingiz kerak. Ushbu kutubxona tilning ma'lum bir yo'nalishdagi funktsiyalarini kengaytirishga yordam beradi. Ramkalar yordamida har qanday hajmdagi loyihalarni yaratish osonroq.

Bugungi kunda eng mashhur kutubxona bu Django - bu veb-saytlarni ishlab chiqish uchun asos bo'lib, u veb-resursga funksiyalarni tezda qo'shish funktsiyalariga ega. Misol tariqasida, Google o'zining bir qator loyihalarida tildan faol foydalanadi va barchasi qulay ishlashi va dasturlashning istalgan sohasida qo'llaniladigan keng funksionalligi tufayli. Agar siz Google'da joy olishni maqsad qilgan bo'lsangiz, Python tilini o'rganish kompaniyada ishlashni boshlash uchun yaxshi imkoniyatdir.

  • "" mavzusidagi maqolamizni o'qing.
  • Django kursini tomosha qilishingiz mumkin.

Kurs rejasi

Kurs davomida siz Python tili asoslarini o'rganasiz va unda konsol dasturlarini yozishni o'rganasiz. Keyinchalik, tilni kengaytiradigan va to'ldiradigan qo'shimcha kutubxonalarni o'rganishingiz kerak bo'ladi. Bizning veb-saytimizda siz nafaqat Python, balki qo'shimcha kutubxonalarni ham o'rganishingiz mumkin. Barcha qo'shimcha Python kurslari taqdim etiladi.

Katta kurs

Bir necha o'n yillar oldin, dasturchilar boshqalarga kirish mumkin bo'lmagan narsani biladigan qandaydir shamanlar kabi ko'rinardi. Ba'zan odamlar tizzalari bilan dasturlashni, qog'ozga kod yozishni o'rgandilar, chunki "aholi jon boshiga kompyuter qurilmalarining kontsentratsiyasi" juda past edi. Hozirgi kunda uyi bo'lmagan odamni topish qiyin ish stoli kompyuter yoki noutbuk. Ta'lim texnologiyalari ham bir joyda turmaydi.

Bir oz tarix

Python dasturlash tili saksoninchi yillarning oxirida Guido van Rossum tomonidan ishlab chiqila boshlandi. Gvido o'sha paytda Gollandiya CWI institutining xodimi edi. U bo'sh vaqtlarida ushbu tilni yozgan va u ishda ishtirok etgan ABC tili haqida ba'zi fikrlarni bildirgan.

Til sudralib yuruvchi nomi bilan atalmagan. Aslida, bu nom yetmishinchi yillardagi Monty Python's Flying Circus deb nomlangan mashhur Britaniya komediya shousidan ilhomlangan, garchi Python hali ham ilonga nisbatan ko'proq taqqoslanadi, buni rasmiy veb-saytdagi logotip tasdiqlaydi (u ikkita ilon boshi mavjud) .

Van Rossumning dizayn sezgisi Python dasturlash tilining bu qadar mashhur bo'lishining yagona sababi emas. Do'stona foydalanuvchilar hamjamiyatining mavjudligini hisobga olsak, noldan o'rganish yoqimli va oson vazifaga aylanadi.

Yaqinda, 2008 yilda uzoq vaqt davomida sinovdan o'tgan Python 3000 (3.0) ning birinchi versiyasi chiqdi, unda ko'plab arxitektura kamchiliklari bartaraf etildi. Shu bilan birga, ishlab chiquvchilar bilan moslikni saqlashga harakat qilishdi oldingi versiyalar til. Eng yangi versiya mavjudligiga qaramay, ikkala filial (2.x va 3.x) qo'llab-quvvatlanadi.

Qisqacha dasturlash tili

Python boshqa tillarga nisbatan bir qator afzalliklarga ega. Bu deyarli intuitiv ravishda tushunarli va "shaffof" sintaksisga ega. Bu shuni anglatadiki, ushbu tildagi dastur kodini o'qish ancha osonlashadi, bu nafaqat uni yozish, balki turli xil o'zgartirishlar va tekshirishlar uchun ham vaqtni qisqartiradi.

Albatta, "eski maktab" dasturchisi siz albatta bir nechta tillarni bilishingiz kerakligini aytadi, lekin siz hatto mashina kodini o'rganishdan boshlashingiz mumkin. Ammo Python-da dasturlash kursini tamomlagan holda, inson nafaqat aniq bilimga ega bo'ladi, balki ilovalar va foydali dasturlar yaratish orqali o'zining ijodiy tabiatini amalga oshirish imkoniyatini ham oladi. Ehtimol, tez orada dasturlash chet tilini bilish kabi zarur bo'ladi.

Farqsizlik

Dasturlash qiyin degan noto'g'ri tushunchadan voz kechishga arziydi. Yo'q, dasturlash tuyulganidan ko'ra ancha qiziqroq; Boshqa faoliyatlar va "vaqt etishmasligi" yoki dangasalik aralashishi mumkin.

Asosiy adabiyotlar Python-da dasturlashni tezda o'rganishga yordam beradi. O'quv kursi asoslarni to'plashingiz mumkin bo'lgan ikkita kitobni o'qishdan boshlanishi kerak. Birinchisi, Mark Lutzning "Python dasturlash", ikkinchisi esa Mark Summerfildning "Python 3 dasturlash" dir. Lutzning kitobida til qurilgan barcha asosiy tamoyillar batafsil, ba'zan hatto haddan tashqari ko'p tasvirlangan. Ba'zi odamlar Mark Lutzni mahorat uchun emas, balki chuqurlashtirish uchun o'qishni maslahat berishadi asosiy bilim. Summerfildning kitobi hamma narsani qisqacha tushuntiradi, muallif o'quvchini hech qanday asorat bilan qo'rqitmaydi. Boshqa adabiyotlar ham bor, lekin bu darsliklar eng foydali va ma'lumotli.

Kirish kursi

Keling, eslaylik boshlang'ich maktab. Qoida tariqasida, hatto bola ham birinchi sinfga minimal bilim bilan keladi: ba'zilari ota-onalari tomonidan o'rgatilgan, boshqalari nolga o'tgan. Python dasturlash tili bo'yicha treninglar ham taqdim etiladi. Bu haqiqatan ham qulay va "shaffof", ammo bu haqda minimal ma'lumotga ega emas asosiy tamoyillar o'quv dasturlari qiyin bo'ladi. Bu musiqani eshitmasdan notalarni o'rganishga o'xshaydi. Shuning uchun, hech qachon dasturlashni uchratmaganlar "kirish minimumi" bilan tanishishlari kerak.

CS50 ma'ruzalari foydali bo'ladi. Bu Garvard universitetining Java skriptida dasturlashga bag'ishlangan kursidir, ammo birinchi ma'ruzalar kompyuter va umuman dasturlarning o'zaro ta'sirini tushunarli va tushunarli tarzda tushuntiradi. Rus tilida so'zlashuvchi foydalanuvchilar ushbu kursning tarjimasi, qo'shimcha materiallar, ma'ruzalarning matnli versiyalari va amaliy topshiriqlar bilan video yozuvlaridan foydalanishlari mumkin. Videoni deyarli hamma joyda, masalan, YouTube-da topish mumkin, ammo barcha materiallarni Java Script veb-saytida to'liq topish mumkin.

Internetda

Python dasturlash tili tobora ommalashib bormoqda, shuning uchun uzoq vaqt davomida o'z-o'zini o'rganish uchun juda ko'p materiallarga ega bir nechta portallar mavjud. Masalan, "Yangi boshlanuvchilar uchun Python 3". Ushbu saytda yangi boshlanuvchilar uchun juda ko'p materiallar mavjud; Codecademy veb-saytida bepul kirish imkoniyati bilan ushbu mavzu bo'yicha katta hajmdagi ma'lumotlar ham mavjud.

Forumlarda muloqot qilish ham muhimdir. Yolg'iz o'qish har doim qiyinroq, shuning uchun turli jamoalarni e'tiborsiz qoldirmang.

Pullik kurslar

Siz har doim pullik kurslardan foydalanishingiz mumkin, lekin bu ba'zan juda ko'p pul talab qiladi va natija qoniqarsiz bo'lishi mumkin. Shuning uchun, albatta, bepul sinov topshirig'ini taklif qiladigan kurslarni tanlash tavsiya etiladi. Masalan, GeekBrains-da "Python dasturlash asoslari" bo'yicha intensiv kurs mavjud. Dars bepul va har o'n kunda o'tkaziladi. Ro'yxatdan o'tish uchun siz saytga kirishingiz kerak.

Maslahat: Qaysi kursni tanlasangiz ham, o'zingiz osongina o'rganishingiz mumkin bo'lgan narsaga vaqt sarflamaslik uchun avvalo til asoslari bilan tanishib chiqing. Yuqorida tilga olingan kitoblarni o'qish kifoya qiladi.

Albatta, nazariya o'zlashtirilsa, siz amaliyotni xohlaysiz. Bu erda Nik Parlantening ma'ruzalarini eslatib o'tish kerak. Ular ingliz tilida, garchi umuman olganda ko'plab yaxshi o'quv adabiyotlari ingliz tilida bo'lsa ham, bu ajablanarli emas. Nik o'z ma'ruzalarida nafaqat Python dasturlash tilini o'rgatadi, balki mukammal amaliy masalalarni ham beradi.

Foydalanish

Python dasturlash tili ko'p odamlar kundalik foydalanadigan ko'plab ilovalarni yaratish uchun ishlatilgan. Masalan, bu BitTorrent torrent mijozining oltinchi versiyasi. Python, shuningdek, Gimp rastr grafik muharririda ham qo'llaniladi. U yaratish uchun ishlatiladi qo'shimcha modullar, filtrlar, masalan. “Civilization IV” va “Batterfield 2”ning katta qismi shu tilda yozilgan.

Python Google, Facebook, Instagram, Dropbox va Pinterest kabi kompaniyalar tomonidan qo'llaniladi. Shuningdek, u Yandex Disk dasturining yadrosida ishlaydi. Kompaniya xodimlarining taxminan 10% Python tilida yozishadi va ko‘plab dasturchilar uni o‘zlarining sevimli tili deb atashadi.

Qanday boshlash kerak

Hech qanday kod "havoda" ishlay olmaydi; Python dasturlash tili ham ushbu qoidaga bo'ysunadi. Ta'lim noldan nazariyadan boshlangan bo'lsa-da, aslida, deyish mumkin, bu munosabatdan boshlanadi Shaxsiy kompyuter ish muhiti. Buni qanday qilish kerak? Hammasi oddiy: siz rasmiy Python veb-saytidagi havolaga o'tishingiz, o'rnatuvchini yuklab olishingiz va ishga tushirishingiz va keyin u taklif qilgan amallarni diqqat bilan bajarishingiz kerak.

Iltimos, kompyuteringizda o'rnatilgan operatsion tizimga mos keladigan faylni yuklab olishingiz kerakligini unutmang!

O'rnatish muvaffaqiyatli bo'lsa, konsolni oching (odatda buni "ctrl + alt + T" klaviatura yorlig'i yordamida amalga oshirish mumkin). Endi siz birinchi dasturingizni yozishingiz mumkin. Masalan, "python3" ni kiriting. Agar konsolda dastur versiyasi ko'rsatilgan (masalan, 3.4.0) "xush kelibsiz xabar" paydo bo'lsa, unda hamma narsa tartibda, agar bo'lmasa, Python-ning uchinchi versiyasini "sudo apt" buyrug'i bilan o'rnatishingiz kerak. -python3 ni o'rnating.
Biroq, bu kerak emas. Siz istalgan qulay matn muharririda kod yozishingiz va keyin uni konsol orqali ishga tushirishingiz yoki tarqatish bilan birga kelgan IDLE ishlab chiqish muhitidan foydalanishingiz mumkin.

IDLE-ni ishga tushiring. Kichkina dastur yaratish uchun siz faqat bitta qator kod yozishingiz kerak.

chop ("Salom dunyo!")

Ushbu kodni IDLE oynasiga kiriting va Enter tugmasini bosing. Atrof-muhit bir zumda harakat bilan javob beradi - ekranda kerakli matnni ko'rsating. Birinchi dastur tayyor.