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ēte-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ētiessistē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 (
>>> 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 (
Šī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:
- 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:
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:
- Atveriet Python IDLE.
- Atlasiet Fails -> Jauns fails.
- Uzrakstiet programmu (kods zemāk).
- Saglabāt Ctrl+s.
- 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.