Python
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.
Paradigma | multi-paradigmë: orientuar në objekte, urdhërues, funksional |
---|---|
E projektuar nga | Guido van Rossum |
Zhvilluesi | Python Software Foundation |
Doli më | 1991 |
Emetimi i fundit | 3.9.5 / 3 maj 2021 |
Lëshimi fundit jo i qëndrueshëm | 3.10.0b1 / 3 maj 2021 |
Tipi i disciplinës | strong, dynamic, duck |
Implementimi | CPython, Jython, IronPython, PyPy, Python për S60 |
Dialekti | Cython, RPython, Starlark |
Ndikuar nga | ABC, ALGOL 68, C, Haskell, Icon, Lisp, Modula-3, Perl, Java |
Ndikoi në | Boo, Groovy, Ruby, Cobra, D, JavaScript, Swift |
SO | Ndër-platformik |
Licenca | Python Software Foundation License |
Filename extension(s) | .py, .pyi, .pyc, .pyd, .pyo (para 3.5), .pyw, .pyz (pas 3.5) |
Website | http://www.python.org/ |
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
RedaktoPython ë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
RedaktoPython 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
RedaktoDeklaratat 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 meelse
dheelif
- 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 bllokuexcept;
gjithashtu siguron që kodi në një bllokfinally
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
dhefrom
, përdoren për të importuar module, funksionet ose ndryshoret të cilat mund të përdoren në programin e tanishëm
Shembuj kodi
RedaktoMë 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
RedaktoPë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
RedaktoNdryshoret 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
RedaktoVeprimet 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- ^ 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ë!) - ^ "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- Nyje Zyrtare
- online python compiler Arkivuar 16 qershor 2021 tek Wayback Machine with libraries