Python për fillestarët: Filloni

Disclosure: Mbështetja juaj ju ndihmon të mbani sitin në punë! Ne fitojmë një tarifë referimi për disa nga shërbimet që rekomandojmë në këtë faqe.


Python është një gjuhë shkrimi e interpretuar në shkallë të lartë, të përgjithshme. Gjuha’Dizajni ka një theks të fortë në lexueshmërinë e kodit, si dhe fleksibilitetin dhe lehtësinë e përdorimit.

Si shumica e gjuhëve të ngjashme (Ruby dhe Perl, për shembull), Python mund të përdoret për çdo gjë, për çdo lloj aplikimi. Ekzistojnë një pjesë e vogël e aplikacioneve në internet të ndërtuara duke përdorur Python, dhe disa korniza të shkëlqyera të zhvillimit të internetit. Me mjete si Py2Exe, mund të paketoni skriptet e Python si aplikacione të vetme desktop.

Por ku Python shkëlqen vërtet, dhe ku e shfrytëzon pjesën më të madhe të përdorimit të tij, është si një mjet për analizën e të dhënave, shtypjen e numrave, kërkimin shkencor, hakimin, skriptimin dhe automatizimin e detyrave. Python përdoret nga shkencëtarët, matematikanët, testuesit e depërtimit, spiunët, kriptografët, muzikantët, agjentët e aksioneve dhe administratorët e rrjetit për një gamë të gjerë aplikimesh.

Nëse doni të mësoni se si të krijoni aplikacione të këndshme në internet, me siguri dëshironi të filloni me Ruby ose (nëse jeni)’përsëri në WordPress), PHP. Por nëse doni të mësoni se si të përdorni kompjutera për të bërë gjëra interesante të reja, Python është gjuha për ju.

Contents

Burimet Online Python

Ka shumë materiale Python në internet – disa falas, disa prej tyre paguan. Këto janë disa nga burimet më të mira për të mësuar Python.

Mësoni Python

Kurse dhe tutoriale të rekomanduara
  • Faqja zyrtare e Python
  • fillestar’Udhëzues për Python – Vendi zyrtar për të filluar mësimin.
    • Për programuesit jo-programues
    • Për programuesit e rinj në Python
  • Mësoni Python rrugën e vështirë – Një kurs i shkëlqyeshëm i Python për njerëzit që duan të mësojnë vërtet gjuhën pa marrë ndonjë shkurtore.
  • Google’s Python Class – Google përdor Python për një numër projektesh. Dëshironi ta mësoni atë në mënyrën se si ata e mësojnë atë? Ti mundesh.
  • Udhëzues për Bibliotekën Standarde
  • Python Koans – Një qasje e mahnitshme, filozofike ndaj programimit dhe të menduarit në Python, si një zhvillues, përmes përdorimit të Test Driven Development.
Tutoriale dhe burime të tjera mësimore të shkëlqyera në Python

Këtu janë disa burime shumë të mira për të mësuar Python që pothuajse e bëri atë në sa më sipër “Recommended” listë. Të gjithë kanë një stil të ndryshëm të të mësuarit, kështu që mbase njëra nga këto do t’ju përshtatet më mirë sesa mësimet e mësipërme.

  • Python Videos – Lista e madhe e videos për të gjitha llojet e Temave të Python
  • Programimi i Python për fillestarët – tutorial i kockave të zhveshura nga Linux Journal.
  • Një Libër Python – Një libër i thelluar në internet që mbulon fillimin e Python, tema të përparuara dhe ushtrime të mny.
  • Kursi Python – Një grup i lirë dhe i gjerë mësimesh për Python.
  • Ndërtimi i aftësive në Python – 42 kapituj të ushtrimeve të Python të hartuara
  • zbavitem’Udhëzues i gjuhës për Python – Një grup mësimesh të thjeshta të bazuara në projekte mbi konceptet e Python.
  • Python 101 – Një prezantim i Python.
    • Python 201 – Python i ndërmjetëm.
  • Mësoni Python në 10 Minuta – Paraqitje shumë e shpejtë e gjuhës.
  • Checkio – Mësoni të përmirësoni kodin tuaj me një lojë. Të luash një lojë, jo të shkruash një.
  • Libri Wiki i Programimit Python
Tutoriale shtesë për Python

Këto janë “Përmendje i nderuar” mësime për fillimin e Python. Ne nuk bëmë’i gjeni ato mjaft standardet tona (shumë të larta), por ato janë mjaft të njohura – kështu që mbase njëri prej tyre do të funksionojë mirë për ju.

  • Pythonspot
  • Parathënie Python
  • Hyrja në Python
  • Python i menjëhershëm
  • Këshilla për Python
  • Tutorial Python

Mjetet e zhvillimit të Python

Biblioteka, shtesa dhe shtesa

Një pjesë e madhe e forcës së Python është ekosistemi i mjeteve të shkëlqyera për realizimin e një numri të llojeve të ndryshme të detyrave në gjuhë. Nga përpunimi i grafikëve deri tek analiza matematikore, atje’është ndoshta një modul Python për pothuajse çdo fushë ku po punoni.

  • Shrapnel – Biblioteka Python për njëkohësisht vëllim të lartë.
  • MatPlotLib – Grafika dhe vizualizimi i të dhënave.
  • Mako – Motori i tundimit në internet.
  • PIL – Biblioteka e Imazheve Python
    • Jastëk – pirun e PIL. (PIL duket se ka ndaluar zhvillimin aktiv. Jastëku po merr pjesën më të madhe të këtij projekti popullor.)
  • Paketa Pyx – Python Graphics
  • Supë e bukur – Mjete për skaping në ekran dhe më pas trajtimi i pemës parse dhe përmbajtjes.
  • Scrappy – Mjete për scraping në internet.
  • Gooey – Mjete për sigurimin e një GUI për programet Python të linjës së komandës.
  • Peewee – Një ORM minimalist SQL për lidhjen e një aplikacioni Python në MySQL, PostgreSQL ose SQLite.
  • Alkimi SQL – Një ORM më shumë tipare SQL.
  • PyGame – Platformë për ndërtimin e lojërave video në Python.
  • SciPy – Shkencë dhe mjete matematikore për Python; shumë e rëndësishme për llogaritjen shkencore.
  • Pandas – Mjetet e analizës së të dhënave.
  • sh – Biblioteka për thirrjen e programeve të tjera nga skriptet e Python.

Wikipedia Python gjithashtu mban një listë të disa prej moduleve më të dobishëm dhe më të popullarizuar Python.

idetë

Një IDE është një Mjedisi i Integruar për Zhvillim, një mjet për menaxhimin e zhvillimit të një aplikacioni të madh ose kompleks. Shumica e përdoruesve të Python kanë tendencë të punojnë në një redaktues të thjeshtë kodesh, por një numër IDE të shkëlqyeshme të përqendruara në Python janë në dispozicion për ata që përdorin Python për projekte më të mëdha.

  • PyDev – Python IDE për Eklipsin.
  • Komodo – Python IDE
  • PyCharm – Python IDE
  • IDE Wing – Python Commercial IDE.
  • Spyder – Python IDE për Shkencë dhe Matematikë.
  • NetBeans
  • PyScripter
  • μ.dev – Microdev, një IDE e çuditshme e vogël nga studioja Sakura.

Shikoni gjithashtu këtë listë të redaktuesve të Python.

Riparimi dhe kontrollimi i kodit

Zhvilluesit e Python kanë një kulturë që priren të preferojnë një kod të pastër dhe efikas. Në të njëjtën kohë, ata gjithashtu vlerësojnë shpejtësinë, dhe shpesh zhyten në kodim shpejt në mënyrë që të zgjidhin problemet e menjëhershme. Një numër mjetesh janë zhvilluar për të ndihmuar programuesit e Python të automatizojnë detyrën e kontrollit të kodit dhe ta bëjnë atë më efikas.

  • PyChecker – kontrollues i kodit (linter).
  • litar
  • Riparimi i biçikletave
Ndërtoni Vegla

Python shkëlqen në automatizimin e detyrave, kështu që nuk duhet të jetë çudi që ekzistojnë një numër mjetesh për të bërë vetëm atë, dhe për të shpejtuar ndërtimin dhe vendosjen e cikleve.

Gjithashtu përfshihen në këtë listë janë mjete të specializuara zhvillimi që përdoren për paketimin dhe shpërndarjen e aplikacioneve Python.

  • Invoke – Mjeti i ekzekutimit dhe skriptimit të detyrave.
  • Microbuild – Mjet i lehtë për ndërtimin.
  • Paver – Skriptimi i detyrave.
  • Pynt – Vegël e Ndërtimit.
  • VirtualEnv – Mjet për ndërtimin e mjediseve të izoluara Python.
  • Bitten – mjet i integrimit të vazhdueshëm për Python dhe Trac.
  • iPython – guaska interaktive Python dhe biblioteka e zhvillimit; shumë veçori të lezetshme për të renditur.
  • Py2Exe – Harton skriptet Python në ekzekutuesit e Windows.
Kuadrat e Uebit

Nëse dëshironi të përdorni Python për të ndërtuar një aplikacion në internet, ju keni një numër detyrash të nivelit të ulët’Do të duhet të kujdeseni për të parë – ose thjesht mund të filloni nga hapi 10 dhe të përdorni një kornizë të zhvillimit të aplikacionit në internet.

  • Django – Deri tani, korniza më e popullarizuar e aplikacionit në internet për Python. Conceptshtë konceptualisht i ngjashëm me Ruby on Rails. shiko prezantimin tonë të Django
  • Python Paste – Jo një kornizë, por një “kornizë për kornizat.” Ofron mjete të nivelit të ulët për ndërtimin e kornizave të internetit të Python.
  • CherryPy – Kuadri web i Python-it minimalist.
  • TurboGears
  • Web2Py
  • CubicWeb
  • Giotto
  • Reahl
  • astmatik

Aplikime të Ndërtuara në Python

Python përdoret nga shumë njerëz, për shumë detyra dhe qëllime të ndryshme, por nuk është jashtëzakonisht i popullarizuar që ndërtimi i aplikacioneve të shpërndahet si kod tek konsumatorët dhe përdoruesit fundorë (mënyra, për shembull, PHP). Megjithatë, ndonjëherë përdoret për këtë qëllim. Këtu janë disa shembuj të disa aplikacioneve të ndërtuara në Python.

  • SchoolTool – Sistemi i informacionit të studentëve.
Sistemet e menaxhimit të përmbajtjes
  • Plone – CMS më e popullarizuar me bazë Python.
  • Django CMS – Jo aq popullor sa Plone për CMS, por i ndërtuar mbi kornizën më të njohur të Python.
  • MoinMoin – motor-wiki Python që fuqizon wiki Python. (Për Wiki-CMS të tjera me bazë Python, shihni këtë faqe.)
  • CPS-CMS
  • Silva
  • ZMS

Referenca në internet Python

Këto janë disa nga vendet më të rëndësishme të referencave Python me burim të vetëm, të cilat ju ndoshta duhet të keni faqerojtës.

  • Dokumentacioni Python
  • Python Wiki
  • Receta popullore për Python
  • Indeksi i Paketave Python

Librat

Duke filluar Python

Nëse preferoni të mësoni të përdorni një libër të shtypur, nuk ka asnjë mungesë të shkëlqyeshme në dispozicion. Këtu janë disa nga librat më të mirë të Python për fillestarët. Nëse don’preferoni libra (ose don’preferoni të paguani për gjëra) lëvizni poshtë tek seksioni i Burimeve Online për një listë të mësimeve të shkëlqyera në internet (dhe kryesisht falas).

  • Mësoni Python rrugën e vështirë: Një hyrje shumë e thjeshtë në botën jashtëzakonisht të bukur të kompjuterave dhe kodit
  • Python për Fëmijë
  • Kursi i Rrëzimit Python: Një hyrje e dorës, hyrje në bazë të projektit në programim
  • Programimi Python për fillestarët: Një hyrje në Python Gjuhë dhe Programim kompjuterik
  • Programimi i Python: Një hyrje në shkencën e kompjuterave
  • Automatizoni gjërat e mërzitshme me Python: Programim Praktik për Fillestarët Gjithsej
  • Mësoni Python
  • Përshëndetje! piton

i përparuar

Shumë nga konceptet më të avancuara në programimin Python nuk janë të përfshira në mësime online, dhe ato mund të gjenden vetëm në libra të shtypur.

  • Programimi i ekspertëve në Python
  • Programimi i performancës së lartë Python
  • Libri i Programeve Paralitale Python
  • Python në praktikë: Krijoni programe më të mira duke përdorur konkurencën, bibliotekat dhe modelet
  • Teknikat e përparuara të programimit Python 3
  • Mastering Python i orientuar drejt objekteve
  • Python efektiv: 59 mënyra të veçanta për të shkruar më mirë Python
  • Mësimi i makinës Python
  • Mendoni Python
  • Python profesional
  • Python me performancë të lartë: Programim Praktik i Performancës për Njerëzit
  • Scraping në internet me Python: Mbledhja e të Dhënave nga Ueb Moderne
  • Zhvillimi i nxitur nga Testi me Python
  • Python rrjedhshëm
  • Sheshi i lojërave Python: Projektet Geeky për Programues Kurioz
  • Themelet e Programimit të Rrjetit Python: Udhëzuesi gjithëpërfshirës për ndërtimin e aplikacioneve të rrjetit me Python
  • Udhëzues për: Mësimin e Iteracionit dhe Gjeneruesit në Python
Python për Matematikë, Shkencë dhe të dhëna

Python është përdorur gjerësisht në matematikë dhe shkencë për të paktën disa arsye: – Ka mjete të shkëlqyera të matematikës dhe shkencës për gjuhën, siç janë SciPy dhe NumPy. – Gjuha i jep vetes detyrat e programimit të shpejtë, kështu që është e lehtë të përdoret Python për analiza të të dhënave ad hoc pa ndërtuar aplikacione plotësisht të paraqitura.

Ashtu si për temat e përgjithshme të Avancuara, nëse kërkoni informacione mbi tema të specializuara në programimin e përparuar Python, do të gjeni shumë më shumë libra më të shkëlqyeshëm sesa faqet e internetit falas dhe mësimet online..

  • Bërja e matematikës me Python
  • Python për Analizën e të Dhënave: Shkatërrimi i të dhënave me Pandas, NumPy dhe IPython
  • Thelbësore të Shkencës së të Dhënave Python
  • Shkenca e të dhënave nga Gërvishtja: Parimet e para me Python
  • Mësoni të dhënat e minierave me Python
  • Python i Avancuar për Biologët
  • Python për Financa: Analizoni të dhënat e mëdha financiare
  • Struktura e të dhënave dhe të menduarit algoritëm me Python: Struktura e të dhënave dhe enigmat algoritme
  • Python për Informatikë: eksplorimi i informacionit
  • Derivatet Analitika me Python
  • ArcPy dhe ArcGIS: Analiza Gjeohapësinore me Python
  • Mësimi i Pandave – Zbulimi dhe Analiza e të Dhënave Python Made Easy
  • Mësoni Analizën Gjeohapësinore me Python
  • Statistikat, Minierat e të Dhënave dhe Mësimi i Makinerisë në Astronomi: Një Udhëzues Praktik Python për Analizën e Të Dhënave të Anketës
Python për Hacking

Për shkak të përshtatshmërisë së tij për programim ad hoc dhe për automatizimin e detyrave, Python gjithashtu përdoret mjaft nga njerëzit që pëlqejnë të shpërthejnë gjërat, dhe gjithashtu nga njerëzit që përpiqen t’i ndalojnë ato. (Supozojmë se ju jeni një nga djemtë e mirë, natyrisht.)

  • Python i dhunshëm: Një libër gatimi për hakerat, analistët mjekoligjorë, testuesit e depërtimit dhe inxhinierët e sigurisë
  • Python Black Hat: Programimi i Python për Hackers dhe Pentesters
  • Python për Agjentët Sekretë

referim

Këtu janë disa referenca të shkëlqyera për Python, për njerëzit që e pëlqejnë atë lloj gjëje. Ndërsa disa nga temat e avancuara të përmendura më lart janë vetëm libra, shumica e materialit bazë referencë këtu është më e lehtë për të gjetur në internet me një motor kërkimi të mirë – por disa njerëz preferojnë të kenë kopje të vështira.

  • Referenca Thelbësore e Python
  • Libri i Pitonit
  • Referenca e xhepit Python

Përjashtime Python

Meqenëse përjashtimet importohen në mënyrë kritike në programimin e Python, ne kemi dhënë tutorialin e mëposhtëm, i cili do t’ju mësojë të përshpejtoni këtë aspekt të Python.

Kur diçka nuk shkon në ekzekutimin e një programi Python, çfarë ndodh? Epo, nëse gjëja tjetër që do të ndodhë nuk është një përjashtim … dy gjëra kanë shkuar keq.

Python ngre përjashtime në përgjigje të të gjitha llojeve të kushteve të gabimit. Si një zhvillues i Python, përjashtimet ju tregojnë se çfarë po shkon keq me kodin dhe ku. Ju gjithashtu mund të përcaktoni dhe ngritni përjashtimet tuaja.

Në këtë artikull, ne do të hedhim një vështrim në përjashtimet e ndërtuara të Python-it, dhe të eksplorojmë trajtimin e përjashtimeve.

Si ndërtohen përjashtime

Pas parimeve të programimit të orientuar nga objekti, përjashtimet përcaktohen në klasat e përjashtimeve. Këto klasa janë të organizuara në një hierarki të trashëgimisë. Për shembull, IndentationError është një nënklasë e SyntaxError.

Kur ngrihet një përjashtim, krijohet një shembull i klasës së veçantë të përjashtimit. Nëse kapni gabimin (siç është bërë në klauzolën përveç më poshtë), mund ta inspektoni atë.

>>> provoni:
… ngre ValueError
… përveç ValueError si e:
… print (str (tipi (e)) + "n" + rr (dir (e)))

[‘__cause__’, ‘__class__’, ‘__context__’,
‘__delattr__’, ‘__dict__’, ‘__dir__’,
‘__doc__’, ‘__eq__’, ‘__format__’, ‘__ge__’,
‘__getattribute__’, ‘__gt__’, ‘__hash__’,
‘__init__’, ‘__le__’, ‘__lt__’, ‘__ne__’,
‘__new__’, ‘__reduce__’, ‘__reduce_ex__’,
‘__repr__’, ‘__setattr__’, ‘__setstate__’,
‘__sizeof__’, ‘__str__’, ‘__subclasshook__’,
‘__suppress_context__’, ‘__traceback__’,
‘argumenton’, ‘me_traceback’]

Shënim për mostrat e kodit: Mostrat e kodit me >>> shpejtë mund të provohet duke përdorur interpretuesin interaktiv. Thjesht shkruani python3 në terminal. Gjithçka nuk paraprihet nga >>> ose … kjo është prodhim. Mostrat e kodit pa njoftimin e shpejtë janë shembuj të kodit që mund të shkruani në një modul .py.

Përjashtime abstrakte

Këto klasa të përjashtimeve përdoren si klasa bazë për përjashtime të tjera.

BaseException

Kjo është klasa bazë nga e cila rrjedhin të gjitha përjashtimet e tjera.

përjashtim

Të gjitha përjashtimet e integruara, që nuk ekzistojnë nga sistemi, rrjedhin nga kjo klasë. Të gjitha përjashtimet e përcaktuara nga përdoruesi gjithashtu duhet të rrjedhin nga kjo klasë.

klasa MyNewException (Përjashtim):

def __str __ (vetvetja):
kthimi "MyNewException ka ndodhur."

ArithmeticError

Trashëguar nga përjashtime në lidhje me aritmetikën:

  • OverflowError
  • ZeroDivisionError
  • FloatingPointError

BufferError

Ngritur kur një operacion i lidhur me tampon nuk mund të kryhet.

LookupError

Trashëguar nga përjashtime që lidhen me çelësat ose indekset e pavlefshme. Për shembull, një çelës i keq në një dikë ose një indeks jashtë fushës në një listë.

Përjashtime konkrete

AssertionError

Të ngritura mbi pohimet e dështuara.

>>> pohojnë 1 > 2
Gabim i pohimit

AttributeError

I ngritur për dështimin e referencës ose caktimit të atributeve.

>>> x = 1

>>> x.name
AtributError: objekti “int” nuk ka asnjë emër “emri”

>>> x.name = "një"
AtributError: objekti “int” nuk ka asnjë emër “emri”

EOFError

Ngritur kur inputi () arrin në skedarin fundor (EOF) pa lexuar të dhëna.

FloatingPointError

Ngritur kur një operacion i pikës lundruese dështon. Vini re se ky përjashtim normalisht nuk do të ngrihet nëse nuk konfigurohet, dhe se trajtimi i përjashtimeve nga pika lundruese dekurajohet për shumicën e përdoruesve jo-ekspertë..

GeneratorExit

Rritet kur mbyllet një gjenerator ose korintinë. Ky nuk është në fakt një gabim, pasi mbyllja është sjellje normale.

ImportError

Rritur kur deklarata e importit dështon.

>>> importoni ModulinThatDoesNotExist
ImportError: Asnjë modul i quajtur ModulThatDoesNotExist

Në Python 3.6 dhe më vonë, ekziston gjithashtu edhe Nënklasa ModuleNotFoundError.

IndexError

Ngritur kur një indeks i referuar është i pavlefshëm.

>>> l = ["zero", "një", "dy"]
>>> l [4]
IndexError: Indeksi i listës jashtë rrezes

KeyError

Ngritur kur nuk është gjetur një çelës fjalori.

>>> d = {‘TOS’: ‘Kirk’, ‘TNG’: ‘Picard’, ‘DS9’: ‘Sisko’, ‘VOY’: ‘Janeway’
>>> d [ ‘ENT’]
Erë kyçe: ‘ENT’

KeyboardInterrupt

Isedshtë ngritur kur goditet kyçi i ndërprerjes (CTRL-C).

>>> ndërsa e vërtetë
… kaloj

^ C
KeyboardInterrupt

MemoryError

Ngritur kur një operacion i mbaron kujtesën.

NameError

Ngritur kur nuk mund të gjendet një emër i ndryshueshëm.

>>> ndërsa e vërtetë:
… kaloj

^ C
KeyboardInterrupt

NotImplementedError

Kjo ka për qëllim të shkruhet në klasa; ajo nuk është ngritur nga ndonjë tipar i integruar. Ka dy përdorime:

  • Të ngritura me metoda abstrakte, për të treguar se ato duhet të ribotohen në klasa të prejardhura.
  • Të ngritura nga klasa të prejardhura, për të treguar që një zbatim duhet të shtohet. Kjo lejon që klasa të ngarkohet pa ngritur një përjashtim.

OSError

Ngritur kur kthehet një gabim në sistem. Shikoni më poshtë për më shumë informacion mbi OSError.

OverflowError

E ngritur kur rezultati i një operacioni matematikor është shumë i madh.

RecursionError

Ngritur kur tejkalohet thellësia maksimale e rekursionit.

ReferenceError

Rashtë ngritur kur një prokurë e dobët referimi përdoret për të hyrë në një objekt pasi të jetë grumbulluar mbeturina.

RuntimeError

Ngritur kur zbulohet një gabim që nuk bën pjesë në asnjë prej kategorive të tjera.

StopIteration

Ngritur nga () dhe __next __ () kur asnjë send tjetër nuk do të prodhohet nga një iterator.

StopAsyncIteration

Duhet të ngrihet nga anext () metoda e një objekti përsëritës asinkron për të ndaluar përsëritjen.

Ky është i ri në versionin 3.5.

SyntaxError

Ngritur mbi një gabim sintaksor.

>>> 1 = 2
SyntaxError: nuk mund t’i caktohet fjalë për fjalë

IndentationError

Të ngritura për gabime të indentacionit.

>>> nëse 1 == 1:
… x = 1
IndentationError: pritet një bllok i theksuar

TabError

Një nënklasë e IndentationError, kjo ngrihet kur indentacioni përdor skedat dhe hapësirat në mënyrë të paqartë.

Gabim sistemi

Ngritur mbi gabime të brendshme jo serioze.

SystemExit

Ngritur nga funksioni sys.exit ().

TypeError

Ngritur kur një operacion ose funksion quhet në një lloj objekti të papërshtatshëm.

>>> 1 > "një"
TypeError: lloje të paarritshme: int () > rr ()

Kodi i përdoruesit duhet të ngrejë një TypeError për inputet e funksionit të shtypur në mënyrë jo të duhur.

UnboundLocalError

Rritur kur një variabël lokal referohet në një funksion ose metodë, por ndryshorja nuk është përcaktuar.

UnicodeError

Klasa bazë që përdoret për gabimet që ndodhin gjatë trajtimit të vargjeve të Unicode. Ka tre nënklasa:

  • UnicodeEncodeError
  • UnicodeDecodeError
  • UnicodeTranslateError

ValueError

Ngritur kur një funksion ose një operacion është thirrur me një argument të llojit të duhur, por një vlerë të papërshtatshme, përveç nëse aplikohet gabim specifik amore. (Për shembull, një indeks jashtë kufijve ngre IndexError.)

>>> f = e hapur ("Emri-i-file.txt", "m")
ValueError: modaliteti i pavlefshëm: ‘m’

ZeroDivisionError

Ngritur kur bëhet përpjekja e ndarjes me zero.

>>> 1/0
ZeroDivisionError: ndarja me zero

>>> 1.0 / 0
ZeroDivisionError: ndarja noton me zero

>>> 1% 0
ZeroDivisionError: Ndarja e plotë ose moduli me zero

Më shumë në OSError

OSError u ripunua në Python 3.3. Tani ka tre pseudonime për OSError, si dhe një numër klasa të prejardhura për raste të ndryshme gabimesh.

Emrat e OSError

  • EnvironmentError ishte fillimisht klasa bazë për OSError dhe IOError.
  • IOError fillimisht u ngrit për gabime që ndodhin gjatë çdo operacioni I / O, përfshirë shtypjen ose leximin nga një skedar.
  • WindowsError u ngrit fillimisht për çdo gabim specifik të Windows.

Të tre këto u mbajtën vetëm për qëllime të pajtueshmërisë, por në të vërtetë janë pseudonime të OSError.

Nënklasat e OSError

Këto të gjitha rrjedhin nga OSError, dhe janë ngritur në varësi të kodit të gabimit të kthyer nga sistemi operativ. Nën çdo përshkrim është sistemi i lidhur me errno.

BlockingIOError

Ngritur kur një operacion do të shkaktonte bllokim në një objekt të caktuar për mos bllokim.

  • EAGAIN
  • EALREADY
  • EWOULDBLOCK
  • EINPROGRESS
ChildProcessError

Rritet kur një operacion mbi një proces fëmije dështon.

  • ECHILD
ConnectionError

Klasa bazë për gabime që lidhen me lidhjet.

nënklasët:

  • BrokenPipeError, i ngritur kur shkruhet tentohet në një tub të mbyllur ose në fole.
    • EPIPE; ESHUTDOWN
  • ConnectionAbortedError, i ngritur më pas një lidhje në përpjekje është abortuar nga bashkëmoshatarja.
    • ECONNABORTED
  • ConnectionRefusedError, i ngritur kur një lidhje në tentativë refuzohet nga bashkëmoshatarët.
    • ECONNREFUSED
  • ConnectionResetError, i ngritur kur një lidhje është rivendosur nga kolegët.
    • ECONNRESET
FileExistsError

I ngritur kur përpiqeni të krijoni një skedar ose direktori që tashmë ekziston.

  • EEXIST
FileNotFoundError

Rashtë rritur kur një skedar ose direktori i kërkuar nuk ekziston.

  • ENOENT
InterruptedError

Ngritur kur sinjali në hyrje ndërpret një telefonatë të sistemit.

  • EINTR

Vini re se që nga Python 3.5, thirrjet e ndërprera të sistemit do të riprovohen, përveç nëse mbajtësi i sinjalit ngre një përjashtim.

IsADirectoryError

Ngritur kur një operacion vetëm me skedarë (siç është os.remove ()) është përpjekur në një drejtori.

  • EISDIR
NotADirectoryError

Ngritur kur një operacion vetëm me direktori (si psh os.listdir ()) është tentuar në një skedar ose objekt tjetër jo direktoriumi.

  • ENOTDIR.
PermissionError

I ngritur kur përpiqeni të drejtoni një operacion pa lejet e mjaftueshme.

  • EACCES
  • Epërm
ProcessLookupError

Ngritur kur një proces i referuar nuk ekziston.

  • ESRCH
TimeoutError

Ngritur kur funksioni i sistemit skadon.

  • ETIMEDOUT

Paralajmërimet

Këto klasa të përjashtimit përdoren si klasa bazë për përjashtime paralajmëruese.

paralajmërim

Trashëgohet nga të gjitha nënklasat paralajmëruese.

UserWarning

Trashëgohet nga paralajmërimet e krijuara nga kodi i përdoruesit.

DeprecationWarning

Trashëguar nga paralajmërimet në lidhje me tiparet e zhvlerësuar.

PendingDeprecationWarning

Trashëguar nga paralajmërimet për tiparet që do të zhvlerësohen në të ardhmen.

SyntaxWarning

Trashëgohet nga paralajmërimet për sintaksën problematike.

RuntimeWarning

Trashëgohet nga paralajmërimet në lidhje me sjelljen problematike të ekzekutimit.

FutureWarning

Trashëguar nga paralajmërimet për ndërtimet që do të ndryshojnë në të ardhmen.

ImportWarning

Trashëguar nga paralajmërimet në lidhje me gabimet e mundshme në importin e paketave dhe moduleve.

UnicodeWarning

Trashëgohet nga paralajmërimet në lidhje me Unicode.

BytesWarning

Trashëgohet nga paralajmërimet në lidhje me bytes dhe bytearray.

ResourceWarning

Trashëgohet nga paralajmërimet në lidhje me përdorimin e burimeve.

Rritja e Përjashtimeve të Ndërtuara në Kodin tuaj

Ju mund të dëshironi të krijoni përjashtime në përgjigje të veprimeve të ndryshme të përdoruesit. Kjo është aq e lehtë sa thirrja e ngritjes. Mund të kaloni në një varg që do t’i tregohet përdoruesit.

Def ObnoxiousFavoriteColorAssigner (ngjyra):
nëse lloji (ngjyra) nuk është në rr:
ngrini TypeError ("Unë kam nevojë për një varg.")
nëse ngjyra në ["i kuq", "e gjelbër", "blu"]:
preferuar_kollor = ngjyra
tjetër:
ngre ValueError ("Kjo nuk është * me të vërtetë * një ngjyrë.")

Trajtimi i përjashtimeve

Ju mund të trajtoni përjashtime që ndodhin kur kodi juaj ekzekutohet duke përdorur provë dhe përveç.

def EverybodyLovesRed ():
ndërsa e vërtetë:
provoni:
ObnoxiousFavoriteColorAssigner (inputi ())
pushim
përveç TypeError si gabim:
shtypura (gaboj)
përveç ValueError:
ObnoxiousFavoriteColorAssigner ("i kuq")

Përcaktimi i përjashtimeve me porosi

Ju mund të zgjasni ndonjë nga përjashtimet e ndërtuara për të krijuar përjashtime tuaja personale. Kjo është bërë më shpesh në korniza të mëdha.

klasë ColorError (ValueError):
"""
Të ngritura kur dikush sugjeron se ka ngjyra
përveç kuq, blu dhe jeshile.
"""

def __str __ ():
kthimi "Ngjyrat ekzistojnë vetëm në sytë tuaj."

Def ObnoxiousFavoriteColorAssigner (ngjyra):
nëse lloji (ngjyra) nuk është në rr:
ngrini TypeError ("Unë kam nevojë për një varg.")
nëse ngjyra në ["i kuq", "e gjelbër", "blu"]:
preferuar_kollor = ngjyra
tjetër:
ngre ColorError

Practiceshtë praktikë e mirë, kur krijoni klasën tuaj të përjashtimit personal, të përfshini në doktrinë informacionin e duhur për atë se kur ose si mund të ngrihet përjashtimi. Përtej kësaj, sidoqoftë, kjo logjikë nuk përfshihet në kodin që përcakton përjashtimin.

Më shumë për përjashtimet Python

  • Sigurohuni që të lexoni dokumentacionin zyrtar për gabimet dhe listën e plotë të përjashtimeve të integruara.
  • Zhvilluesi i Python, Julien Danjou shkroi udhëzuesin përfundimtar për Python përjashtime.
  • Codementor.io ka shkruar dhe përdorur përjashtime të personalizuara në Python.

FAQ Python

Farë do të thotë që Python është a “gjuhë shkrimi”?

Një gjuhë skriptimi është një gjuhë që interpretohet në kohën e duhur, në vend që të përpilohet në një ekzekutues binar.

Disa njerëz përdorin frazën “gjuhë shkrimi” për të treguar që gjuha është veçanërisht e mirë për të shkruar shkurt “scripts,” ose programe miniaturë ad hoc të përdorura për të automatizuar detyrat.

Python i përshtatet të dy përshkrimeve – është një gjuhë e interpretuar, dhe është gjithashtu shumë i dobishëm për të shkruar skriptete të shkurtra, ad hoc.

A janë skriptet gjuhë si Python të mirë për të shkruar aplikacione në shkallë të plotë?

Ka disa njerëz që kanë një paragjykim kundër përdorimit të gjuhëve të shkrimit / interpretimit për aplikacione të tëra. Dituria e këtij paragjykimi varet tërësisht nga konteksti individual.

Gjuhët e shkrimit kanë tendencë të shkojnë pak më ngadalë se sa gjuhët e përpiluara, dhe në disa raste kjo ndryshim në performancë është një çështje e madhe. Megjithatë, në shumicën e konteksteve është një shqetësim i papërfillshëm.

Python është krejtësisht i përshtatshëm për të shkruar aplikacione të të gjitha llojeve. Përdorimi i Django ose një kornizë tjetër në internet ju lejon të ndërtoni aplikacione të bazuara në internet. Nuk ka asgjë të mangët në lidhje me Python për sa i përket mjeteve dhe aftësive të nevojshme për të shkruar aplikacione në shkallë të plotë. Në fakt, Python është shumë më i përshtatshëm për punë të tilla sesa PHP ose JavaScript, që të dyja shpesh përdoren për aplikacione të mëdha, komplekse në internet.

A duhet ta mësoj Python?

Kjo varet nga qëllimet tuaja.

Nëse po shpresoni të ndërtoni aplikacione tipike në internet, me siguri duhet të mësoni PHP ose Ruby (dhe binarët), së bashku me JavaScript, HTML dhe CSS. atje’s’ka arsye pse nuk mund ta përdorni Python për këtë punë, por nuk është tipike ta bëni këtë. PHP dhe Ruby do t’ju lejojnë të përdorni shumë më tepër aplikacione të internetit, kornizat dhe mjetet e zhvillimit të internetit.

Nëse jeni duke kërkuar të përdorni aftësi programuese për të realizuar direkt detyra, automatizim ose analizë të tillë, Python është një gjuhë e shkëlqyeshme për atë lloj pune, dhe është aty ku merr pjesën më të madhe të përdorimit të tij.

Nëse po ndërtoni aplikacione që duhet të manipulojnë të dhënat në një fushë ose fushë të specializuar – të tilla si matematika, shkenca, financa, muzika ose kriptografia – Python është një gjuhë e shkëlqyeshme për këto lloj projektesh gjithashtu.

Leximi i mëtutjeshëm dhe burimet

Ne kemi më shumë udhëzues, mësime dhe infografikë në lidhje me programimin dhe statistikat:

  • Burimet e Zhvilluesit: gjithçka që ju nevojitet për të filluar me këtë gjuhë klasike.
  • Hyrje në Ruby on Rails: mësoni rreth kësaj gjuhe shkrimi të njohur.
  • Programimi i Statistikave: Stata është një mjedis i tërë zhvillimi për të bërë analizën e të dhënave.

Codefarë kodi duhet të mësoni?

Të hutuar në cilën gjuhë programimi duhet të mësoni të kodoni? Shikoni infografin tonë, Codefarë kodi duhet të mësoni? Ajo jo vetëm që diskuton aspekte të ndryshme të gjuhëve, por përgjigjet në pyetje të rëndësishme siç janë, “Sa para do të bëj Java programuese për të jetuar?”

Codefarë kodi duhet të mësoni?
Codefarë kodi duhet të mësoni?

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map