Kas ir python programmēšanas valoda. Ar kuru versiju labāk strādāt? Savienība ar transformāciju

Kā labi izstrādāta programmēšanas valoda Python ir labi piemērota tādu reālu problēmu risināšanai, ar kurām izstrādātāji saskaras katru dienu. To izmanto visdažādākajās lietojumprogrammās – gan kā rīks citu programmatūras komponentu pārvaldīšanai, gan neatkarīgu programmu ieviešanai. Faktiski Python kā daudzfunkcionālas programmēšanas valodas lomu klāsts ir praktiski neierobežots: to var izmantot, lai ieviestu

jebkas no tīmekļa vietnēm un spēļu programmām līdz robotu un kosmosa kuģu vadīšanai.

Tomēr Python lietojumus mūsdienās var iedalīt vairākās plašās kategorijās. Dažās nākamajās sadaļās ir aprakstīti mūsdienās visizplatītākie Python lietojumi, kā arī katrā jomā izmantotie rīki. Mums nebūs iespējas veikt izpēti par šeit minētajiem rīkiem. Ja kāds no tiem jūs interesē, lūdzu, apmeklējiet Python Project vietni, lai uzzinātu vairāk

Sistēmas programmēšana

Python iebūvētās saskarnes, lai piekļūtu operētājsistēmas pakalpojumiem, padara to ideāli piemērotu portatīvo programmu un sistēmas administrēšanas utilītu (dažreiz sauktu par čaulas rīkiem) izveidei. Python programmas var meklēt failus un direktorijus, palaist citas programmas, veikt paralēlus aprēķinus, izmantojot vairākus procesus un pavedienus, kā arī

daudz vairāk.

Python standarta bibliotēka pilnībā atbilst POSIX standartiem un atbalsta visus tipiskos operētājsistēmas rīkus: vides mainīgos, failus, ligzdas, caurules, procesus, vairāku pavedienu izpildes modeli, modeļu saskaņošanu, izmantojot regulāras izteiksmes, komandrindas argumentus, standarta saskarnes piekļuvei. datu straumes, čaulas komandu palaišana, failu nosaukumu pievienošana un daudz kas cits

Turklāt Python sistēmas saskarnes ir izstrādātas tā, lai tās būtu pārnēsājamas, piemēram, direktoriju koka kopēšanas skripts, kuram nav nepieciešamas nekādas izmaiņas neatkarīgi no tā, kurā operētājsistēmā tā tiek izmantota. EVE Online izmantotā Stackless Python sistēma piedāvā arī uzlabotus paralēlās apstrādes risinājumus.

GUI

Python vienkāršība un ātrais izstrādes ātrums padara to par lielisku GUI izstrādes rīku. Python ietver standarta objektu orientētu saskarni Tk GUI API, ko sauc par tkinter (B Python 2.6, to sauc par Tkinter), kas ļauj Python programmām ieviest pārnēsājamu grafisko interfeisu ar operētājsistēmas izskatu. Uz Python balstītas GUI/

tkinter var izmantot bez izmaiņām MS Windows, X Window (UNIX un Linux sistēmās) un Mac OS (gan klasiskajā versijā, gan OS X). Bezmaksas PMW paplašinājumu pakotne satur papildu vizuālos komponentus tkinter komplektam. Turklāt ir wxPython GUI API, kas balstīta uz C++ bibliotēku, kas piedāvā alternatīvu rīku komplektu portatīvo GUI izveidei Python.

Augsta līmeņa rīki, piemēram, PythonCard un Dabot, ir veidoti, izmantojot API, piemēram, wxPython un tkinter. Izvēloties atbilstošo bibliotēku, jūs varēsiet izmantot arī citus GUI rīkus, piemēram, Qt (izmantojot PyQt), GTK (izmantojot PyGtk), MFC (izmantojot PyWin32), .NET (izmantojot IronPython), Swing (izmantojot Jython - ieviešana Python valodas Java, kas aprakstīta 2. nodaļā, jeb JPype). Lai izstrādātu tīmekļa lietojumprogrammas vai lietojumprogrammas, kurām nav augstas UI prasības, varat izmantot Jython, Python tīmekļa ietvarus un CGI skriptus, kas ir aprakstīti nākamajā sadaļā un nodrošina papildu iespējas lietotāja interfeisa izveidei.

Tīmekļa skripti

Python tulkam ir standarta interneta moduļi, kas ļauj programmām veikt dažādas tīkla darbības gan klienta, gan servera režīmā. Skripti var mijiedarboties, izmantojot ligzdas, iegūt informāciju no veidlapām, kas nosūtītas uz servera puses CGI skriptiem; pārsūtīt failus, izmantojot FTP; apstrādāt XML failus; pārsūtīt, saņemt, izveidot un parsēt

e-pasti; ielādēt tīmekļa lapas no norādītajiem URL; parsēt saņemto tīmekļa lapu HTML un XML marķējumu; veikt mijiedarbību, izmantojot XML-RPC, SOAP un Telnet protokolus un daudz ko citu.

Python iekļautās bibliotēkas padara šādu uzdevumu ieviešanu pārsteidzoši vienkāršu.

Turklāt ir milzīgs trešo pušu rīku krājums, lai izveidotu tīkla programmas Python, ko var atrast internetā. Piemēram, HTMLGen sistēma ļauj izveidot HTML lapas, pamatojoties uz Python klases definīcijām. Mod_python pakotne ir paredzēta Python skriptu palaišanai Apache tīmekļa serverī un atbalsta Python Server Pages programmas veidnes. Jython sistēma nodrošina

nemanāma Python/Java integrācija un atbalsta servera puses sīklietotnes, kas darbojas klienta pusē.

Turklāt Python ir pieejamas pilnvērtīgas tīmekļa izstrādes pakotnes, piemēram, Django, TurboGears, web2py, Pylons, Zope un WebWare, kas atbalsta iespēju ātri izveidot pilnībā funkcionālas, augstas kvalitātes vietnes Python. Daudzas no tām ietver tādas funkcijas kā objektu relāciju kartēšana, modeļa/skata/kontrollera arhitektūra, servera puses skriptēšana, veidņu atbalsts un AJAX tehnoloģijas, kas nodrošina

Pilnīgi un uzticami risinājumi tīmekļa lietojumprogrammu izstrādei.

Komponentu integrācija

Iespēja integrēt programmatūras komponentus vienā lietojumprogrammā, izmantojot Python, jau tika apspriesta iepriekš, kad mēs runājām par Python kā vadības valodu. Python spēja paplašināties un integrēties

sistēmas C un C++ padara to par ērtu un elastīgu valodu, lai aprakstītu citu sistēmu un komponentu uzvedību. Piemēram, integrācija ar C bibliotēku ļauj Python pārbaudīt un palaist bibliotēkas komponentus, un Python iegulšana programmatūras produktos ļauj pielāgot programmatūras produktus, nepārbūvējot produktus vai nosūtot tos kopā ar pirmkodu.

Tādi rīki kā Swing un SIP, kas automātiski ģenerē kodu, var automatizēt Python kompilēto komponentu saistīšanas darbības, lai tās vēlāk izmantotu skriptos, un Cython sistēma ļauj programmētājiem sajaukt Python un C milzīgas Python platformas, piemēram, atbalsta COM

operētājsistēmā MS Windows Jython - Java implementācija, IronPython - .NET implementācija un dažādas CORBA implementācijas nodrošina alternatīvus veidus, kā organizēt mijiedarbību ar programmatūras komponentiem. Piemēram, operētājsistēmā Windows Python skripti var izmantot lietojumprogrammu vadības platformas, piemēram, MS Word un Excel.

Datu bāzes lietojumprogrammas

Python ir saskarnes, lai piekļūtu visām galvenajām relāciju datu bāzēm - Sybase, Oracle, Informix, ODBC, MySQL, PostgreSQL, SQLite un daudzām citām. Python pasaulē ir arī pārnēsājamas datu bāzes API, lai piekļūtu SQL datu bāzēm no Python skriptiem, kas apvieno piekļuvi dažādām datu bāzēm. Piemēram, izmantojot portatīvo API, skripts, kas paredzēts darbam ar bezmaksas MySQL datu bāzi, var strādāt ar citām datu bāzes sistēmām (piemēram, Oracle) praktiski bez izmaiņām. Viss, kas jums jādara, lai to izdarītu, ir aizstāt izmantoto zemā līmeņa saskarni.

Standarta kodināšanas modulis ievieš vienkāršu objektu uzglabāšanas sistēmu, kas ļauj programmām saglabāt un atjaunot Python objektus failos vai specializētos objektos. Internetā varat atrast arī trešās puses sistēmu ar nosaukumu ZODB.

Tā ir pilnībā uz objektu orientēta datu bāze

izmantošanai Python skriptos. Tur ir arī

rīki, piemēram, SQLObject un SQLAlchemy, kas tiek parādīti

relāciju tabulas Python klases modelī. Kopš Python 2.5,

SQLite datu bāze ir kļuvusi par Python standarta daļu.

Ātra prototipu izstrāde

Python programmās Python un C valodā rakstītie komponenti izskatās vienādi. Tas ļauj vispirms izveidot prototipu sistēmas Python un pēc tam portēt atlasītos komponentus kompilēšanas valodās, piemēram, C un C++. Atšķirībā no dažiem citiem prototipu veidošanas rīkiem, Python neprasa, lai sistēma būtu pilnībā jāpārraksta pēc prototipa atkļūdošanas. Var būt sistēmas daļas, kurām nav nepieciešama izpildes efektivitāte, ko nodrošina C++

atstājiet to Python, kas ievērojami vienkāršos šādas sistēmas uzturēšanu un lietošanu.

Matemātikas programmēšana

un zinātniskā skaitļošana

Iepriekš minētais matemātikas paplašinājums NumPy ietver jaudīgus elementus, piemēram, masīvu objektus, saskarnes ar standarta matemātikas bibliotēkām un daudz ko citu. Paplašinot NumPy — integrējot ar matemātikas bibliotēkām, kas rakstītas kompilēšanas programmēšanas valodās, Python kļūst par sarežģītu, bet ērtu matemātisku programmēšanas rīku, kas bieži vien var aizstāt esošo kodu, kas rakstīts tradicionālajās kompilēšanas valodās, piemēram, FORTRAN un C++.

Papildu Python matemātikas rīki atbalsta iespēju izveidot animācijas efektus un 3D objektus, ļauj organizēt paralēlus aprēķinus un tā tālāk. Piemēram, populārie paplašinājumi SciPy un ScientificPython nodrošina papildu bibliotēkas zinātniskai skaitļošanai un izmanto NumPy paplašinājuma iespējas.

Spēles, attēli, mākslīgais intelekts,

XML roboti un daudz kas cits

Python programmēšanas valodu var izmantot, lai atrisinātu plašāku problēmu loku, nekā šeit var minēt. Piemēram:

Izveidojiet spēļu programmas un animācijas video, izmantojot

pygame sistēmas

Apmainiet datus ar citiem datoriem, izmantojot seriālos savienojumus

ports, izmantojot PySerial paplašinājumu

Apstrādājiet attēlus, izmantojot PIL, PyOpenGL paplašinājumus,

Blenderis, Maija un citi

Kontrolējiet robotu, izmantojot PyRo rīku

Parsējiet XML dokumentus, izmantojot xml pakotni, xmlrp- moduli

clib un trešo pušu paplašinājumi

Programmējiet mākslīgo intelektu, izmantojot neiro-emulatoru

tīklu un ekspertu sistēmu čaulas

Analizējiet dabiskās valodas frāzes, izmantojot NLTK pakotni.

Jūs pat varat spēlēt pasjansu, izmantojot PySol. Atbalstu daudzām citām lietojumprogrammu jomām var atrast PyPI vietnē vai izmantojot meklētājprogrammas (meklējiet saites, izmantojot Google vai http://www.python.org).

Vispārīgi runājot, daudzi no šiem Python lietojumiem ir tikai vienas un tās pašas lomas varianti, ko sauc par komponentu integrāciju. Izmantojot Python kā saskarni komponentu bibliotēkām, kas rakstītas C valodā, ir iespējams rakstīt Python skriptus, lai atrisinātu problēmas dažādās lietojumprogrammu jomās. Kā vispārēja, daudzfunkcionāla programmēšanas valoda, kas atbalsta integrāciju, Python var izmantot ļoti plaši.

Starp citu, vai jums ir problēmas ar klēpjdatora barošanas avotu? Mēs iesakām iegādāties klēpjdatora barošanas blokus par ļoti pieņemamām cenām. Uzņēmuma vietnē darrom.com.ua jūs atradīsiet barošanas blokus jebkuram klēpjdatoram.

Visām iepriekš aplūkotajām programmām bija lineāra struktūra: visas instrukcijas tika izpildītas secīgi viena pēc otras, jāizpilda katra rakstītā instrukcija.

Pieņemsim, ka mēs vēlamies noteikt tā absolūto vērtību (moduli) no dotā skaitļa x. Programmai jādrukā mainīgā x vērtība, ja x>0, vai vērtība -x pretējā gadījumā. Tiek pārkāpta programmas lineārā struktūra: atkarībā no nosacījuma x>0 derīguma ir jāizvada viena vai cita vērtība. Atbilstošais Python programmas fragments izskatās šādi:

273 x = int(input()), ja x > 0: drukāt(x) else: print(-x)

Šī programma izmanto nosacījumu if priekšraksts. Pēc vārda if tiek norādīts pārbaudāmais stāvoklis (x > 0), kas beidzas ar kolu. Pēc tam seko instrukciju bloks (secība), kas tiks izpildīts, ja nosacījums ir patiess, mūsu piemērā tas parāda vērtību x. Tad nāk vārds else (citādi), kas arī beidzas ar kolu, un instrukciju bloks, kas tiks izpildīts, ja pārbaudāmais nosacījums ir nepatiess, šajā gadījumā tiks izdrukāta vērtība -x.

Tātad Python nosacījuma priekšrakstam ir šāda sintakse:

Ja nosacījums: 1. instrukciju bloks; cits: 2. instrukciju bloks

Instrukciju bloks 1 tiks izpildīts, ja nosacījums ir patiess. Ja nosacījums ir nepatiess, tiks izpildīts 2. instrukciju bloks.

Nosacītā paziņojumā var trūkt vārda else un nākamā bloka. Šo instrukciju sauc par nepilnīgu sazarošanu. Piemēram, ja ir dots skaitlis x un mēs vēlamies to aizstāt ar x absolūto vērtību, to var izdarīt šādi:

273 x = int(input()), ja x< 0: x = -x print(x)

Šajā piemērā mainīgajam x tiks piešķirta vērtība -x , bet tikai tad, ja x<0 . А вот инструкция print(x) будет выполнена всегда, независимо от проверяемого условия.

Python izmanto atkāpi, lai izceltu instrukciju bloku, kas saistīts ar if or else priekšrakstu. Visām instrukcijām, kas pieder vienam blokam, ir jābūt vienādam atkāpei, tas ir, vienādam atstarpju skaitam rindas sākumā. Atkāpei ieteicams izmantot 4 atstarpes, bet atkāpei nav ieteicams izmantot tabulēšanas rakstzīmi.

Šī ir viena no būtiskajām atšķirībām starp Python sintaksi un vairuma valodu sintaksi, kurā bloki tiek atdalīti ar īpašiem vārdiem, piemēram, nts... cc programmā Idol, sākas... beidzas ar Pascal vai cirtaini iekavas C valodā .

2. Ligzdoti nosacījuma priekšraksti

Nosacījumu instrukcijās varat izmantot jebkuru Python valodas instrukciju, tostarp nosacījumu norādījumus. Mēs iegūstam ligzdotu zaru - pēc vienas dakšas programmas izpildes laikā parādās vēl viena dakša. Šajā gadījumā ligzdotajiem blokiem ir lielāks atkāpes izmērs (piemēram, 8 atstarpes). Parādīsim to, izmantojot programmas piemēru, kas, ņemot vērā skaitļus, kas nav nulle, x un y, nosaka, kurā koordinātu plaknes ceturtdaļā atrodas punkts (x,y):

2 -3 x = int(input()) y = int(input()), ja x > 0: ja y > 0: # x > 0, y > 0 print("Pirmā ceturkšņa") else: # x > 0 , g< 0 print("Четвертая четверть") else: if y >0: #x< 0, y >0 drukas ("Otrā ceturkšņa") cits: # x< 0, y < 0 print("Третья четверть")

Šajā piemērā mēs izmantojām komentārus - tekstu, kuru tulks ignorē. Python komentāri ir # rakstzīme un viss teksts pēc šīs rakstzīmes līdz rindas beigām.

3. Salīdzināšanas operatori

Parasti kā pārbaudāmais nosacījums tiek izmantots viena no tālāk norādīto salīdzināšanas operatoru rezultāts.< Меньше — условие верно, если первый операнд меньше второго.
> Lielāks par — nosacījums ir patiess, ja pirmais operands ir lielāks par otro.
<= Меньше или равно.
>= Lielāks par vai vienāds ar.
== Vienlīdzība. Nosacījums ir patiess, ja abi operandi ir vienādi.
!= Nevienlīdzība. Nosacījums ir patiess, ja abi operandi ir nevienlīdzīgi.

Piemēram, nosacījums (x * x< 1000) означает “значение x * x меньше 1000”, а условие (2 * x != y) означает “удвоенное значение переменной x не равно значению переменной y ”.

Python salīdzināšanas operatorus var apvienot ķēdēs (atšķirībā no vairuma citu programmēšanas valodu, kur šim nolūkam ir jāizmanto loģiskie savienojumi), piemēram, a == b == c vai 1<= x <= 10 .

4. bool datu tips

Salīdzināšanas operatori atgriež īpašā Būla tipa bool vērtības. Būla vērtībām var būt viena no divām vērtībām: True vai False. Pārvēršot Būla vērtību True uz tipa int, rezultāts būs 1, savukārt, pārvēršot vērtību False, rezultāts būs 0. Pārvēršot atpakaļ uz tipu 0, skaitlis 0 tiks pārvērsts par False un jebkurš skaitlis, kas nav nulle, par True. Pārvēršot str par būtību, tukšā virkne tiek pārvērsta par False un jebkura virkne, kas nav tukša, tiek pārveidota par True.

4.1. Loģiskie operatori

Dažreiz jums ir jāpārbauda nevis viens, bet vairāki nosacījumi vienlaikus. Piemēram, varat pārbaudīt, vai dots skaitlis ir pāra, izmantojot nosacījumu (n % 2 == 0) (atlikušais n, dalīts ar 2, ir 0), un, ja nepieciešams pārbaudīt, vai divi dotie veselie skaitļi n un m ir pāra. , jums jāpārbauda abu nosacījumu derīgums: n % 2 == 0 un m % 2 == 0 , kuriem tie jāapvieno, izmantojot operatoru un (loģisks UN): n % 2 == 0 un m % 2 == 0 .

Python ir standarta loģiskie operatori: loģiskais UN, loģiskais VAI, loģiskā noliegšana.

Loģiskais UN ir binārs operators (tas ir, operators ar diviem operandiem: pa kreisi un pa labi), un tam ir forma un . Operators un atgriež True tad un tikai tad, ja abi tā operandi ir patiesi.

Loģiskais VAI ir binārs operators un atgriež True tad un tikai tad, ja vismaz viens operands ir True. Operatoram “loģiskais VAI” ir forma vai .

Loģiskais NOT (negācija) ir unārs (tas ir, ar vienu operandu) operators, un tam ir forma, kurai neseko viens operands. Būla vērtība NAV atgriež True, ja operands ir False un otrādi.

Piemērs. Pārbaudīsim, vai vismaz viens no skaitļiem a vai b beidzas ar 0:

15 40 a = int(input()) b = int(input()) if a % 10 == 0 vai b % 10 == 0: print("JĀ") else: print("NĒ")

Pārbaudīsim, vai skaitlis a ir pozitīvs un b nav negatīvs:

Ja a > 0 un nē (b< 0):

Vai tā vietā, lai nē (b< 0) записать (b >= 0) .

5. Kaskādes nosacījuma instrukcijas

Programmas piemēru, kas definē koordinātu plaknes ceturtdaļu, var pārrakstīt, izmantojot “kaskādes” secību ar operāciju if... elif... else:

5 7 x = int(input()) y = int(input()), ja x > 0 un y > 0: print("pirmā ceturkšņa") elif x > 0 un y< 0: print("Четвертая четверть") elif y >0: print("Otrā ceturksnis") else: print("Trešā ceturksnis")

Šajā konstrukcijā pēc kārtas tiek pārbaudīti nosacījumi ja , ..., elif, un tiek izpildīts pirmajam patiesajam nosacījumam atbilstošais bloks. Ja visi pārbaudāmie nosacījumi ir nepatiesi, tiek izpildīts cits bloks, ja tāds ir.

Python ir plaši izmantota, augsta līmeņa programmēšanas valoda, kas nosaukta pēc slavenā britu komēdijas televīzijas šova. Monty Python lidojošais cirks" Python valodai ir vienkārša struktūra, taču tā ir neticami elastīga un spēcīga. Ņemot vērā, ka Python kods ir viegli lasāms un bez pārāk stingras sintakses, daudzi to uzskata par labāko ievada programmēšanas valodu.

Python - valodas apraksts Fonds apraksta Python:

Python ir interpretēta, interaktīva, uz objektu orientēta programmēšanas valoda. Tas ietver moduļus, izņēmumus, dinamisko rakstīšanu, augsta līmeņa dinamiskos datu tipus un klases. Python apvieno izcilu veiktspēju ar skaidru sintaksi. Tas nodrošina saskarnes daudziem sistēmas izsaukumiem un bibliotēkām, kā arī dažādām logu sistēmām, un to var paplašināt ar C un C++. Python tiek izmantota kā paplašinājuma valoda lietojumprogrammām, kurām nepieciešams programmēšanas interfeiss. Visbeidzot, Python ir vairāku platformu valoda: tā darbojas daudzās Unix versijās, Mac datoros un datoros, kuros darbojas MS-DOS, Windows, Windows NT un OS/2.

Kuru programmēšanas valodu vispirms vajadzētu apgūt?

Varat sākt mācīties Python programmēšanas valodu. Lai ilustrētu, kā Python atšķiras no citām ievadvalodām, atcerieties, kad bijāt pusaudzis.

Mācīšanās programmēt ar Python ir kā vadīt vecāku minivenu. Kad esat ar to vairākas reizes pabraucis autostāvvietā, jūs sāksit saprast, kā rīkoties ar automašīnu.

Mēģinot iemācīties programmēt, izmantojot C ( vai pat montētājs) tas ir kā iemācīties braukt, saliekot vecāku minivenu. Jūs gadiem ilgi būsit iestrēdzis garāžā, liekot kopā detaļas, un līdz brīdim, kad būsit pilnībā sapratis, kā automašīna darbojas un spēsiet novērst problēmas un paredzēt turpmākās problēmas, jūs būsiet izdeguši, pirms kādreiz sēdīsit aiz automašīnas stūres. ritenis.

Python priekšrocības

Python ir universāla valoda iesācējiem. Izmantojot Python, varat automatizēt darbplūsmas, izveidot vietnes un darbvirsmas lietojumprogrammas un spēles. Starp citu, pieprasījums pēc Python izstrādātājiem ( PostgreSQL, OOP, Flask, Django) pēdējos gados ir ievērojami pieaudzis tādos uzņēmumos kā Instagram, Reddit, Tumblr, YouTube un Pinterest.

Augsta līmeņa vispārējas nozīmes valoda

Python ir augsta līmeņa programmēšanas valoda. Izmantojot to, jūs varat izveidot gandrīz jebkura veida programmatūru. Šī daudzpusība saglabā jūsu interesi, izstrādājot programmas un risinājumus, kas orientēti uz jūsu interesēm, nevis iestrēgstot valodas nezālēs, uztraucoties par tās sintaksi.

Interpretētā valoda

Python programmēšanas valoda iesācējiem tiek interpretēta, kas nozīmē, ka jums nav jāzina, kā apkopot kodu. Tā kā nav kompilācijas posma, palielinās produktivitāte un ievērojami samazinās laiks rediģēšanai, testēšanai un atkļūdošanai. Vienkārši lejupielādējiet IDE ( IDE), ierakstiet savu kodu un noklikšķiniet uz “Palaist” ( Skrien).

Koda lasāmība ir svarīga

Python vienkāršā, viegli apgūstamā sintakse uzsver lasāmību un nosaka labu programmēšanas stilu. Izmantojot Python, varat izteikt savu koncepciju mazākās koda rindiņās. Šī valoda liek domāt arī par programmu loģiku un algoritmiem. Šī iemesla dēļ to bieži izmanto kā skriptu vai integrācijas valodu ( līmes valoda), lai saistītu esošos komponentus un īsā laika periodā uzrakstītu lielu daudzumu viegli lasāma un izpildāma koda.

Tas ir vienkārši jautri

Jūs nevarat nosaukt programmēšanas valodu Monty Python vārdā, ja jums nav humora izjūtas. Turklāt tika veikta pārbaude, lai salīdzinātu laiku, kas nepieciešams vienkārša skripta uzrakstīšanai dažādās valodās ( Python, Java, C, J, BASIC):

...Python prasa mazāk laika, mazāk koda rindiņu un mazāk jēdzienu, lai sasniegtu savu mērķi... Un, lai viss papildinātu, Python programmēšana ir jautra! Izklaidēšanās un bieža veiksme rada studentos pārliecību un interesi, kas kļūst labāk sagatavoti turpināt apgūt Python.

Tulkojums rakstam “Kāpēc mācīties Python? "sagatavoja draudzīgā projekta komanda.

Labs slikts

Šis materiāls ir paredzēts tiem, kuri jau ir iepazinušies ar programmēšanu un vēlas apgūt Python programmēšanas valodu. Tas ir izstrādāts, lai 10 minūtēs parādītu Python valodas funkcijas, sintakses līdzekļus un pamatprincipus darbam ar Python, izmantojot piemērus. Šeit nav “ūdens” - informācija, kas nav tieši saistīta ar programmēšanas valodu. Sāksim!

Python programmēšanas valoda izceļas ar spēcīgu mašīnrakstīšanu (Spēcīga mašīnrakstīšana izceļas ar to, ka valoda neļauj jaukt dažādus veidus izteiksmēs un neveic automātiskas netiešas konversijas, piemēram, nevar atņemt kopu no virknes), dinamiska. tiek izmantota mašīnrakstīšana - visi veidi tiek noskaidroti programmas izpildes laikā.

Mainīgo deklarēšana nav obligāta, nosaukumi ir reģistrjutīgi (var un VAR ir divi dažādi mainīgie).

Python ir uz objektu orientēta valoda; viss šajā valodā ir objekts.

Palīdzības saņemšana

Palīdzība (palīdzība) Python vienmēr ir pieejama tieši tulkā. Ja vēlaties uzzināt, kā objekts darbojas, zvaniet palīdzībai ( ). Vēl viena noderīga instrukcija ir dir(), kas parāda visas objekta metodes un objektu īpašības .__doc__, kas parādīs dokumentu virkni:

>>> palīdzība(5) Palīdzība int objektam: (utt. utt.) >>> dir(5) ["__abs__", "__add__", ...] >>> abs.__doc__ "abs(skaitlis) -> numurs Atgriež argumenta absolūto vērtību."

Python sintakse

Python nav konstrukciju beigu blokiem (piemēram, klases vai funkciju deklarācijām) — bloki tiek definēti, izmantojot atkāpi. Palieliniet atkāpi bloka sākumā, samaziniet to bloka beigās. Paziņojumus, kuriem nepieciešama atkāpe, beidz ar kolu (:). Ja jums vēl nav koda pēc bloka sākuma priekšraksta, ievietojiet apstiprinošu paziņojumu, lai izietu sintakses pārbaudi.

Kamēr diapazonu saraksts == 1: iziet

Vienas rindiņas komentāri sākas ar jaucējzīmi (#), savukārt vairākrindu komentāri komentāra sākumā un beigās izmanto ("").

Vērtības tiek piešķirtas, izmantojot vienādības zīmi (“=”) (procesā objekti faktiski tiek nosaukti).

Atšķirības tests tiek veikts ar diviem vienādiem simboliem ("==").

Varat palielināt vērtību, izmantojot operatoru +=, un samazināt to ar -=, norādot mainīgo kreisajā pusē un vērtību, par kādu tiks palielināts/samazināts labajā pusē. Tas darbojas ar daudziem Python datu veidiem, tostarp virknēm.

Varat piešķirt vērtību vairākiem mainīgajiem vienā un tajā pašā rindā. Piemēri:

>>> myvar = 3 >>> myvar += 2 >>> myvar 5 >>> myvar -= 1 >>> myvar 4 """Šis ir vairākrindu komentārs. Tālāk norādītās rindas savieno divas virknes.""" >>> mystring = "Sveiki" >>> mystring += " pasaule." >>> drukāt mystring Sveika pasaule. # Tas apmaina mainīgos vienā rindā (!). # Tas nepārkāpj stingru drukāšanu, jo vērtības netiek piešķirtas, bet jauni objekti ir saistīti ar # vecajiem nosaukumiem. >>> myvar, mystring = myvar, myvar

Datu tipi programmā Python

Python nodrošina datu tipus, piemēram, sarakstus, korteņus un vārdnīcas. Ir pieejami arī komplekti, izmantojot komplektu moduli versijās, kas vecākas par Python 2.5, un iebūvētas valodā jaunākās versijās.

Saraksti ir līdzīgi viendimensijas masīviem. Ir iespējams izveidot sarakstu, kas sastāv no citiem sarakstiem.

Vārdnīcas ir asociatīvi masīvi, kuros datiem var piekļūt, izmantojot atslēgu.

Korpusi ir nemainīgi viendimensijas masīvi.

Python "masīvi" var būt jebkura veida, kas nozīmē, ka sarakstos/vārdnīcās/korejās varat apvienot skaitļus, virknes un citus datu tipus.

Pirmā elementa indekss ir 0. Negatīvā indeksa vērtība sāk skaitīt no pēdējā līdz pirmajam, [-1] norāda uz pēdējo elementu.

Mainīgie var norādīt uz funkcijām.

>>> sample = , ("a", "tuple")] >>> mylist = ["Saraksta vienums 1", 2, 3.14] >>> mylist = "Saraksta vienums 1 vēlreiz" # Mēs mainām vienumu >>> mylist[-1] = 3.21 # Šeit mēs atsaucamies uz pēdējo vienumu >>> mydict = ("Atslēga 1": "Vērtība 1", 2: 3, "pi": 3.14) >>> mydict["pi"] = 3.15 # Šādi var mainīt vārdnīcas vērtības >>> mytuple = (1, 2, 3) >>> myfunction = len >>> print myfunction(mylist) 3.

Izmantojot kolu (:), varat iegūt masīva (saraksta vai virknes) daļu. Atstājot sākuma indeksa vērtību tukšu, tiks norādīts, sākot no pirmās vērtības, atstājot beigu indeksu tukšu, tiks norādīts pēdējais masīva elements. Negatīvie indeksi tiek skaitīti atpakaļ no masīva beigām (-1 norāda uz pēdējo elementu).

Apskatiet piemērus:

>>> mylist = ["Saraksta vienums 1", 2, 3.14] >>> drukāt mylist[:] ["Saraksta vienums 1", 2, 3.1400000000000001] >>> drukāt mylist ["Saraksta vienums 1", 2] > >> print mylist[-3:-1] ["Saraksta vienums 1", 2] >>> print mylist # Pievienojot trešo parametru, "solis" Python solis būs # N vienuma soli, nevis 1. # Piem. , tas atgriezīs pirmo vienumu, pēc tam pāries uz trešo un # atgriezīs šo vienumu (tātad, 0. un 2. vienums 0 indeksācijā). >>> drukāt mylist[::2] ["Saraksta vienums 1", 3.14]

Stīgas Python

Lai apzīmētu virkni, var izmantot apostrofu (') vai dubultpēdiņas (dubultpēdiņas - “). Tādējādi varat ievietot pēdiņas virknē, ko apzīmē ar apostrofiem (piemēram, “Viņš teica “sveiki.” ir derīga virkne).

Vairāku rindu virknes tiek apzīmētas, izmantojot trīskāršu apostrofu vai pēdiņas ("""). Python atbalsta unikoda izmantošanu. Tomēr otrajā Python versijā tiek izmantota rakstzīme (u), lai apzīmētu virkni, kas satur unikodu: u"Tas ir unikoda virkne." Python3 visas virknes satur Unicode. Ja Python3 jums ir nepieciešama baitu secība, kas būtībā bija virkne iepriekšējās versijās, tiek izmantots simbols (b): b"Šī ir baitu virkne".

Lai aizstātu parametru vērtības ar virkni, izmantojiet operatoru (%) un korteži. Katrs %s tiek aizstāts ar elementu no kortedža, no kreisās puses uz labo. Varat arī izmantot vārdnīcu, lai aizstātu nosauktos parametrus:

>>>drukāt "Nosaukums: %s\ Skaitlis: %s\ Virkne: %s" % (mana klase.nosaukums, 3, 3 * "-") Nosaukums: Poromenos numurs: 3 Virkne: --- string = """ Šī ir vairāku rindu virkne.""" # BRĪDINĀJUMS. Uzmanieties, vai "%(key)s" nav beigu s. >>> izdrukāt "Šis %(darbības vārds)s a %(lietvārds)s." % ("lietvārds": "pārbaude", "darbības vārds": "ir") Šis ir tests.

Plūsmas kontroles instrukcijas - ja, uz, kamēr

Paziņojumi If, for un while tiek izmantoti, lai kontrolētu programmas izpildes secību. Programmā Python nav slēdža vai korpusa, ja tā vietā tiek izmantots. For tiek izmantots, lai iterētu saraksta (vai virknes) elementus. Lai iegūtu skaitļu secību, izmantojiet diapazonu ( ) . Lai pārtrauktu cilpas izpildi, tiek izmantots pārtraukums.

Šīs konstrukcijas sintakse ir šāda:

Rangelist = range(10) >>> drukāt diapazonu sarakstu numuram diapazonu sarakstā: # Pārbaudiet, vai skaitlis ir viens no # skaitļiem korejā. ja skaitlis (3, 4, 7, 9): # "Pārtraukums" izbeidz for bez # izpildes "else" klauzulu. break else: # "Turpināt" sāk nākamo cilpas # iterāciju. Šeit tas ir diezgan bezjēdzīgi, # jo tas ir pēdējais cilpas paziņojums. turpināt cits: # "Else" klauzula ir neobligāta un # tiek izpildīta tikai tad, ja cilpa nav "pārkāpusi". # Nedarīt neko, ja diapazonu saraksts == 2: print "Otrais vienums (saraksti ir 0 pamatā) ir 2. " elif rangelist == 3: drukāt "Otrais vienums (saraksti ir balstīti uz 0) ir 3" else: drukāt "Nezinu", kamēr rangelist == 1: iziet

Funkcijas Python

Funkcijas tiek deklarētas, izmantojot atslēgvārdu "def". Izvēles argumenti parādās funkcijas deklarācijā pēc nepieciešamajiem, un tiem tiek piešķirta noklusējuma vērtība. Izsaucot funkciju, varat nodot argumentus, norādot to nosaukumu un vērtību, vienlaikus izlaižot dažus izvēles argumentus vai sakārtojot tos tādā secībā, kas atšķiras no funkcijā deklarētās.

Funkcijas var atgriezt virkni, un, izmantojot kortedža izņemšanu, varat atgriezt vairākas vērtības.

Lambda funkcijas ir īpašas funkcijas, kas apstrādā vienu argumentu.

Parametri tiek nodoti, izmantojot atsauci. Pievienojot elementus nokārtotajam sarakstam, jūs saņemsiet atjauninātu sarakstu ārpus funkcijas. Tajā pašā laikā jaunas vērtības piešķiršana parametriem funkcijas iekšienē paliks lokāla darbība. Tā kā nodošana pārsūta tikai atmiņas vietu, jauna objekta piešķiršana parametram kā mainīgajam radīs jaunu objektu.

Koda piemēri:

# Tāds pats kā def funcvar(x): return x + 1 funcvar = lambda x: x + 1 >>> print funcvar(1) 2 # an_int un a_string ir neobligāti, tiem ir noklusējuma vērtības #, ja viena netiek nodota ( 2 un "noklusējuma virkne"). def passing_example(a_list, an_int=2, a_string="Noklusējuma virkne"): a_list.append("Jauns vienums") an_int = 4 atgriež a_list, an_int, a_string >>> my_list = >>> my_int = 10 >> > drukāt passing_example(my_list, my_int) (, 4, "Noklusējuma virkne") >>> my_list >>> my_int 10

Python nodarbības

Python atbalsta ierobežotu vairāku veidu mantojuma veidu klasēs.

Privātos mainīgos un metodes var deklarēt (pēc vienošanās, tulks to nepārbauda), izmantojot divas pasvītras nosaukuma sākumā un ne vairāk kā vienu nosaukuma beigās (piemēram, "__spam").

Mēs varam arī piešķirt patvaļīgus nosaukumus klases gadījumiem. Skatīt piemērus:

Klase MyClass(objekts): kopīgs = 10 def __init__(self): self.mymainable = 3 def myfunction(self, arg1, arg2): return self.mymainable # Šī ir klases instancija >>> classinstance = MyClass() >> > classesinstance.myfunction(1, 2) 3 # Šis mainīgais ir kopīgs visām klasēm. >>> classinstance2 = MyClass() >>> classinstance.common 10 >>> classinstance2.common 10 # Ņemiet vērā, kā mēs izmantojam klases nosaukumu #, nevis instances. >>> MyClass.common = 30 >>> classinstance.common 30 >>> classinstance2.common 30 # Tas neatjauninās klases mainīgo, # tā vietā tas saistīs jaunu objektu ar veco # mainīgā nosaukumu. >>> classinstance.common = 10 >>> classinstance.common 10 >>> classinstance2.common 30 >>> MyClass.common = 50 # Tas nav mainījies, jo "common" tagad ir # instances mainīgais. >>> classinstance.common 10 >>> classinstance2.common 50 # Šī klase ir mantota no MyClass. Iepriekš minētā klase # tiek mantota no "objekta", kas # padara to par "jauna stila klasi". # Vairāku mantojumu deklarē šādi: # class OtherClass(MyClass1, MyClass2, MyClassN) class OtherClass(MyClass): # Arguments "self" tiek nodots automātiski # un attiecas uz klases gadījumu, tāpēc varat iestatīt # instances mainīgos, kā norādīts iepriekš, bet no klases iekšpuses def __init__(self, arg1): self.myvariable = 3 print arg1 >>. > classinstance = OtherClass("sveiki") sveiki >>> classinstance.myfunction(1, 2) 3 # Šai klasei nav .test dalībnieka, bet # mēs to varam pievienot instancei. Ņemiet vērā, ka tas būs tikai klases instances dalībnieks. >>> classinstance.test = 10 >>> classinstance.test 10

Izņēmumi Python

Python izņēmumi tiek apstrādāti try-izņemot blokos:

Def some_function(): try: # Dalīšana ar nulli rada izņēmumu 10/0, izņemot ZeroDivisionError: print "Hmm, nederīgs." cits: # Izņēmums nenotika, mēs esam labi. pass final: # Tas tiek izpildīts pēc tam, kad koda bloks ir palaists # un visi izņēmumi ir apstrādāti, pat # ja apstrādes laikā tiek izvirzīts jauns izņēmums. drukāt "Mēs ar to esam pabeiguši." >>> some_function() Hmm, nederīgs. Esam pabeiguši.

Moduļu importēšana programmā Python

Ārējās bibliotēkas tiek izmantotas pēc importēšanas, izmantojot importēšanas atslēgvārdu. Varat arī izmantot no importēšanas, lai importētu pielāgotas funkcijas.

Importēt izlases veidā no laika importēšanas pulkstenis randomint = random.randint(1, 100) >>> drukāt randomint 64

Darbs ar failiem programmā Python

Python ir liels skaits bibliotēku darbam ar failiem. Piemēram, serializācija (datu pārvēršana virknēs, izmantojot marinēšanas bibliotēku):

Importēt pickle mylist = ["Šis", "ir", 4, 13327] # Atveriet failu C:\\binary.dat rakstīšanai. Burts r pirms # faila nosaukuma virknes tiek izmantots, lai novērstu slīpsvītras atkāpšanos. mans fails = open(r"C:\\binary.dat", "w") pickle.dump(mans saraksts, mans fails) mans fails.close() mans fails = atvērts(r"C:\\teksts.txt", "w" ) myfile.write("Šī ir virknes paraugs") myfile.close() myfile = open(r"C:\\text.txt") >>> print myfile.read() "Šī ir virknes paraugs" mans fails .close() # Atveriet failu lasīšanai. mans fails = open(r"C:\\binary.dat") loadedlist = pickle.load(mans fails) myfile.close() >>> drukāt ielādēto sarakstu ["Šis", "ir", 4, 13327]

Dažādi

  • Nosacījumi var salipt kopā, piemēram, 1< a < 3 проверит, что a одновременно меньше 3 и больше 1.
  • Varat izmantot del, lai noņemtu mainīgos vai elementus masīvos.
  • Saraksti nodrošina ļoti jaudīgas datu manipulācijas iespējas. Varat izveidot izteiksmi, izmantojot for, kam seko if vai priekšrakstiem:
>>> lst1 = >>> lst2 = >>> drukāt >>> drukāt # Pārbaudiet, vai nosacījums ir patiess kādam vienumam. # "jebkurš" atgriež patiesu, ja kāds no saraksta vienumiem ir patiess. >>> any()) True # Tas ir tāpēc, ka 4 % 3 = 1 un 1 ir patiess, tāpēc any() # atgriež True. # Pārbaudiet, cik vienumu nosacījums ir patiess. >>> summa(1 for i in if i == 4) 2 >>> del lst1 >>> print lst1 >>> del lst1
  • Globālie mainīgie tiek deklarēti ārpus funkcijām, un tos var nolasīt bez īpašām deklarācijām iekšā, taču, ja vēlaties tos rakstīt, jums ir jādeklarē no funkcijas sākuma, izmantojot īpašo "globālo" atslēgvārdu, pretējā gadījumā Python piešķirs jaunajai vērtībai. vietējais mainīgais:
skaitlis = 5 def myfunc(): # Tas izdrukās 5. drukāšanas numuru def otherfunc(): # Tas rada izņēmumu, jo mainīgais pirms drukāšanas nav # bijis saistīts. Python zina, ka tas # objekts tiks tam piesaistīts vēlāk, un izveido jaunu lokālu # objektu, nevis piekļūst globālajam. drukāt numura numuru = 3 def yetanotherfunc(): globālais numurs # Tas pareizi mainīs globālo. skaitlis = 3

Kā iemācīties Python programmēšanas valodu

Šis materiāls nav paredzēts kā visaptverošs Python ceļvedis. Python programmēšanas valodai ir milzīgs skaits bibliotēku un dažādas funkcionalitātes, ar kurām jūs iepazīsities, turpinot strādāt ar valodu un pētīt papildu avotus.

Ja ar sniegto informāciju jums nepietiek, apskatiet paplašināto Python programmēšanas valodas aprakstu - tajā ir sniegta sīkāka informācija par valodu.

Starp citiem materiāliem es iesaku Learn Python The Hard Way. Un, protams, Python 2 apmācība un Python 3 apmācība.

Liels paldies Stavrosam Korokithakis par viņa lielisko apmācību “Apgūt Python 10 minūtēs”.

Ja vēlaties kaut ko uzlabot šajā materiālā, lūdzu, rakstiet komentāros.

Interpretētā valoda netiek kompilēta mašīnkodā: instrukcijas vienkārši tiek izpildītas, programmas gaitā.

Tulkotās valodas priekšrocības salīdzinājumā ar kompilēto valodu:

  • Vairāku platformu (jums nav jākompilē programma visam. Kad kods būs uzrakstīts, kods darbosies uz visu).
  • Dinamiskā rakstīšana (mainīgie paši nosaka vēlamo veidu).
  • Refleksija un introspekcija (programmas spēja pašpārveidoties).
  • Un daudz kas cits, kas šajā rakstā būs lieks.

Nu, trūkumi:

  • Mazāka produktivitāte (dažreiz daudz).
  • Programmas nepieciešamība - tulks.

Nu, paša Python 3 priekšrocības:

  • Vienkārša un skaista sintakse.
  • Liels skaits iebūvētu un pieejamu funkciju.
  • Pateicoties tās popularitātei, ir pieejams liels informācijas apjoms.

Nu, mēs īsi uzzinājām par Python un tā atšķirīgajām iezīmēm.

Sintakse

Lai gan tagad mēs parādīsim operatorus un konstrukcijas, kuras jūs, iespējams, nezināt, tālākai apguvei labāk tos zināt iepriekš.

Tātad Python sintakse ir ārkārtīgi vienkārša un iekļaujas nelielā rindkopā:

  • Rindas beigas - instrukcijas beigas.
  • Ligzdotās instrukcijas no galvenajām atdala ar atkāpi, t.i. dažādu skaitu to.
  • Ligzdotas instrukcijas vienmēr tiek rakstītas aiz galvenās, atdalītas no tās ar kolu.

Tālāk ir sniegts visu iepriekš minēto piemēru piemērs.

print("Sveiks, es esmu Python!") # izvada virkni Sveiki, es esmu Python! ja 3.14< 1592: # условный оператор (будет рассмотрен в след. уроках) print("good") # и опять выводим сообщение print("work") # и еще

Nu, pāris īpaši gadījumi:

  • Vienā rindā varat ierakstīt vairākus norādījumus. Tomēr tas samazina lasāmību:

    x = 1,14; y = 2,0014; drukāt (x + y)

    x = 1,14; y = 2,0014; drukāt (x + y)

  • Vienu instrukciju var uzrakstīt vairākās rindās. Lai to izdarītu, jums tas jāievieto apaļu, kvadrātveida vai cirtainu iekavās:

    ja (5 > 1 un 1< 2 and 8 == 8 and "good" != "bad"): print("it is true")

Nu, tagad rakstīsim savu pirmo programmu!

Pirmā programma:

Lai rakstītu programmu Python IDLE, jums ir nepieciešams:

  1. Atveriet Python IDLE.
  2. Atlasiet Fails -> Jauns fails.
  3. Uzrakstiet programmu (kods zemāk).
  4. Saglabāt Ctrl+s.
  5. Nospiediet F5, lai palaistu.

Vispirms mēs uzrakstīsim un palaidīsim tālāk norādīto kodu un pēc tam to analizēsim:

s = input("Kāds ir jūsu vārds?") print("Sveiki, ", s,"! Laipni lūdzam atklājumu pasaulē! Laipni lūdzam Python!)

Šajā rindā mainīgajam s tiek piešķirta funkcijas input() vērtība ar parametru "Kāds ir jūsu vārds?\n" . Ja jūs visu nesaprotat, neuztraucieties, viss tiks detalizēti izskaidrots nākamajos rakstos.

Pagaidām svarīgi ir tikai saprast, ka funkcija input() saņem no tastatūras ievadīto virkni, t.i. ir ievades operators, un s iegūst input() vērtību. Mēs redzam, ka instrukcija atrodas vienā rindā saskaņā ar Python valodas noteikumiem. Starp citu, rakstzīme "\n" ir īpaša un apzīmē jaunu rindiņu.

print("Sveiki, ", s,"! Laipni lūdzam atklājumu pasaulē! Laipni lūdzam Python!)

print("Sveiki, ", s, "! Laipni lūdzam atklājumu pasaulē! Laipni lūdzam Python!")

Šajā rindā mums ir tikai funkcija print(), kas ir Python izvades operators. Kā redzam, funkcijai ir daudz dažādu parametru, kas jāizvada (tie ir norādīti atdalot ar komatiem).

Apskatīsim tipisku programmas darbību.



 Tops