Python

Nga Wikipedia, enciklopedia e lirë
Python
Paradigmamulti-paradigmë: orientuar në objekte, urdhërues, funksional
E projektuar ngaGuido van Rossum
ZhvilluesiPython Software Foundation
Doli më1991
Emetimi i fundit3.9.5 / 3 maj 2021
Lëshimi fundit jo i qëndrueshëm3.10.0b1 / 3 maj 2021
Tipi i disciplinësstrong, dynamic, duck
ImplementimiCPython, Jython, IronPython, PyPy, Python për S60
DialektiCython, RPython, Starlark
Ndikuar ngaABC, ALGOL 68, C, Haskell, Icon, Lisp, Modula-3, Perl, Java
Ndikoi nëBoo, Groovy, Ruby, Cobra, D, JavaScript, Swift
SONdër-platformik
LicencaPython Software Foundation License
Filename extension(s).py, .pyi, .pyc, .pyd, .pyo (para 3.5), .pyw, .pyz (pas 3.5)
Websitehttp://www.python.org/

Python [ˈpaɪθn̩] është gjuhë programimi i nivelit të lartë (ang. high-level programming language) e publikuar fillimisht nga Guido van Rossum në vitin 1991. Python është e dizenjuar rreth një filozofie që thekson rëndësinë e përpjekjes së programatorit sipër asaj të kompjuterit, dhe thekson prioritetin e leximit mbi shpejtësinë e programit ose ekspresivitetit. Python është shpesh i karakterizuar si minimalist, ndonëse ky aplikohet vetëm në thelbin e gjuhës së sintaksës dhe të skemave; libraritë standarde e pajisin gjuhën me një shumë të madhe të funksioneve të mëtejshme.

Python është një gjuhë programimi multi-paradigmë (ang. multi-paradigm programming language) që ka një sistem strukturash dinamik të plotë dhe përdor një drejtim automatik të memories; është kështu i ngjashëm me Perl, Ruby, Scheme, Smalltalk dhe Tcl (gjuhë programimi).

Gjuha ka një zhvillim të bazuar në një komunitet të hapur, i drejtuar nga organizata non-profit, Python Software Foundation.

Gjuha Python është emëruar sipas grupit komik britanik Monty Python.

Sintaksa dhe semantika[Redakto | Redakto nëpërmjet kodit]

Python është menduar të jetë një gjuhë lehtësisht e lexueshme. Formatimi i tij është i pastër dhe shpesh përdor fjalë kyçe angleze ndërsa gjuhët e tjera përdorin shenja pikësimi. Ndryshe nga shumë gjuhë të tjera, Python nuk përdor kllapat gjarpërushe për të kufizuar blloqet, dhe pikëpresjet në fund të rreshtave lejohen, por përdoren rrallë. Ka më pak përjashtime sintaksore dhe raste të veçanta sesa C ose Pascal.

Bredhmi[Redakto | Redakto nëpërmjet kodit]

Python përdor bredhmin (ang. indentation) e hapësirës së bardhë, në vend të kllapave kaçurrele ose fjalëve kyçe, për të kufizuar blloqet . Një rritje në bredhëm vjen pas deklaratave të caktuara; një rënie në bredhëm nënkupton fundin e bllokut aktual. Kështu, struktura pamore e programit paraqet me saktësi strukturën e tij semantike. [1] Kjo veçori nganjëherë quhet rregulli jashtë krahut . Disa gjuhë të tjera përdorin bredhmin në këtë mënyrë; por në shumicën e tyre, ai nuk ka kuptim semantik. Madhësia e rekomanduar e bredhmit është katër hapësira. [2]

Vlerëdhënia dhe rrjedha e kontrollit[Redakto | Redakto nëpërmjet kodit]

Deklaratat e Python përfshijnë:

  • Shpallja e vlerëdhënies, duke përdorur një shenjë të vetme të barazimit =
  • Shpallja if, e cila ekzekuton sipas kushtit ose jo, një bllok kodi, së bashku me else dhe elif
  • Shpallja for, e cila shëtit mbi pjesëtarët e një objekti, duke kapur çdo element në një ndryshore vendore për t'u përdorur nga blloku i tanishëm
  • Shpallja while, e cila ekzekuton një bllok kodi për sa kohë që gjendja e tij është e vërtetë
  • Shpallja try, e cila lejon që përjashtimet e ngritura në bllokun e kodit të saj të kapen dhe trajtohen nga blloku except; gjithashtu siguron që kodi në një bllok finally të ekzekutohet gjithmonë, pavarësisht se si dilet nga blloku
  • Shpallja raise, e përdorur për të ngritur një përjashtim të specifikuar ose për të ringritur një përjashtim të kapur
  • Shpallja class, e cila ekzekuton një bllok kodi dhe bashkëngjit hapësirën e emrit të tij vendor në një klasë, për përdorim në programimin e orientuar nga objekti
  • Shpallja def, e cila përcakton një funksion ose metodë
  • Shpallja with, e cila mbyll një bllok kodi brenda një menaxheri të kontekstit (për shembull, marrja e një blloku përpara se të ekzekutohet, më pas lëshimi i bllokimit; ose hapja dhe mbyllja e një skedari )
  • Shpallja break, e cila del nga një lak (ang. loop)
  • Shpallja continue, e cila anashkalon pjesën tjetër të shëtitjes së tanishme brenda bllokut dhe vazhdon me tjetrën
  • Shpallja del, e cila heq një ndryshore - duke fshirë referencën nga emri në vlerë dhe duke prodhuar një gabim nëse ndryshores i referohet para se të ripërcaktohet
  • Shpallja pass, që shërben si një Ende-jo-e-implementuar, sintaksisht e nevojshme për të krijuar një bllok kodi bosh
  • Shpallja assert, e përdorur në korrigjimin e gabimeve për të kontrolluar kushtet që duhet të zbatohen
  • Shpallja yield, e cila kthen një vlerë nga një funksion gjenerator (dhe gjithashtu një operator); përdoret për të zbatuar korutinat
  • Shpallja return, e përdorur për të kthyer një vlerë nga një funksion
  • Shpalljet import dhe from, përdoren për të importuar module, funksionet ose ndryshoret të cilat mund të përdoren në programin e tanishëm

Shembuj kodi[Redakto | Redakto nëpërmjet kodit]

Më poshtë tregohet shëmbulli i programit më të thjeshtë në Python.

Për të ekzekutuar këtë kod na duhet të instalojmë një shpërndarje të gjuhës Python e cila mund të gjendet në <a href="https://www.python.org/downloads/">faqja e shkarkimit</a>. Më pas krijojmë një skedar i cili mbaron me prapashtesën .py psh kod.py. Në të shkruajmë kodin e mëposhtëm

print("Çkemi programues!")

Nëse ekzekutohet skedari kod.py nga terminali atëherë në ekran do të shfaqet teksti Çkemi programues!. Fjala print është një funksion i cili shfaq në terminal çfarëdo teksti që ndodhet midis thonjëzave. Kllapat rrethore duhet të mbyllin tekstin për të patur ekzekutim korrekt.

Ndryshoret[Redakto | Redakto nëpërmjet kodit]

Për të kuptuar se përse lind nevoja e ndryshoreve (ang. variables) në Python le të marrim shembullin e mëposhtëm.

print("Unë quhem Aleks. Prindërit vendosën të më quanin Aleks prej aktorit Aleks Shnajder")

Siç shihet, emri "Aleks" në këtë tekst është përdorur 3 herë! Nëse do të lindte nevoja për të ndryshuar emrin Aleks dhe për të vënë një emër tjetër; psh Rei, atëherë do të duhet të fshinim emrin Aleks dhe ta zëvendësonim me emrin Rei në çdo rast. Kjo nuk është shumë e përshatshme pasi për pjesë kodi prej qindra rreshtash, puna do të ishte kolosale. Kështu vendosim që emrin Aleks ta ruajmë në një ndryshore si më poshtë:

emri = "Aleks"

Më pas kodi i mësipërm do të marrë trajtën:

emri = "Aleks"
print(f"Unë quhem {emri}. Prindërit vendosën të më quanin {emri} prej aktorit {emri} Shnajder")

Në këtë rast, teksti "Aleks" mbahet nga ndryshorja emri. Ndryshorja emri quhet stringë, sepse përmban tekst. Kështu shenja "=" nuk përdoret si në matematikë për krahasim, por tregon se ndryshores në të majtë po i jepet vlera në të djathtë. Ky mund të jetë një koncept i vështirë për tu gëlltitur por në programim përgjithësisht shenja e barazimit tregon se konceptit në të majtë po i jepet vlera në të djathtë.

Shkronja f përpara thonjëzave tregon se në tekstin vijues mund të përfshijmë ndryshore. Kur interpretuesi i Python-it shikon rreshtin 2, ai kupton se teksti brenda kllapave gjarpëruese është ai që gjendet brenda ndryshores emri. Të tilla tekste me f përpara quhen të formatuar.

Nëse do të ndryshoni përmbajtjen e ndryshores emri duke shkruajtur emri = "Tom" në vënd të emri="Aleks", atëherë do të shfaqej teksti Unë quhem Tom. Prindërit vendosën të më quanin Tom prej aktorit Tom Shnajder

Më shumë për ndryshoret[Redakto | Redakto nëpërmjet kodit]

Ndryshoret në Python mund të kenë vlera të ndryshme por ato më thelbësoret janë: numrat e plotë, numrat me presje, tekstet (që këtej e tutje do të njihen me emrin stringë) dhe vlerat buleane (e vërtetë/ e gabuar).

Numrat shënohen ashtu siç jemi mësuar në matematikë, stringat mbyllen me thonjëza teke ose çifte (treshe nëse stringa merr më shumë se një rresht) dhe vlerat buleane kanë vetëm True (e vërtetë) ose False (e gabuar).

mosha = 18 # Mosha është shëmbulli i një tipari me vlerë numër të plotë
gjatësia = 1.73 # Gjatësia në metra është shëmbulli i një tipari me vlerë numër me presje
profesioni = "programues" # Profesioni është shëmbulli i një tipari me vlerë stringë
i_punësuar = False # I punësuar ose jo është tipar bulean (ose e vërtetë që je i punësuar ose e gabuar)

Veprimet me ndryshore[Redakto | Redakto nëpërmjet kodit]

Veprimet me ndryshore janë të shumta në Python. Ndër më kryesoret, veprimet aritmetike me numra mund të kryhen me veprimet e njohura matematike (+, - , *, /). Këtu

i_pari = 2
i_dyti = 10

print(i_dyti + i_pari) # Rezultati: 12
print(i_dyti - i_pari) # Rezultati: 8
print(i_dyti * i_pari) # Rezultati: 16
print(i_dyti / i_pari) # Rezultati: 5.0

Stringat mund të bashkohen me anën e veprimit "+" ose të shumëzohen me një numër për ta përsëritur atë.

emri = "Noel"
profesioni = "artist"

print(emri + profesioni) # Rezultati: Noelartist
print(emri*3)            # Rezultati: NoelNoelNoel

Vini re se gjuha Python nuk vendos automatikisht hapësirë kështu që programuesi duhet ta ketë parasysh këtë. Zgjidhja më e mirë do të ishte të shkruhej si:

emri = "Noel"
profesioni = "artist"

print(f"{Noel} {artist}") # Rezultati: Noel artist

Vini re shtimin e një hapësire brenda stringës nën stringën e formatuar.

Referime[Redakto | Redakto nëpërmjet kodit]

  1. ^ Guttag, John V. (12 gusht 2016). Introduction to Computation and Programming Using Python: With Application to Understanding Data. MIT Press. ISBN 978-0-262-52962-4. {{cite book}}: Mungon ose është bosh parametri |language= (Ndihmë!)
  2. ^ "PEP 8 – Style Guide for Python Code". Python.org. Arkivuar nga origjinali më 17 prill 2019. Marrë më 26 mars 2019. {{cite web}}: Mungon ose është bosh parametri |language= (Ndihmë!)

Lidhjet e jashtme[Redakto | Redakto nëpërmjet kodit]