Python za začetnike: Začnite

Razkritje: Vaša podpora pomaga pri vzdrževanju spletnega mesta! Za nekatere storitve, ki jih priporočamo na tej strani, zaslužimo naročnino.


Python je skriptni jezik z visokim namenom, ki ga razlagajo skriptni jezik. Jezik’s design ima močan poudarek na berljivosti kode, pa tudi na fleksibilnost in enostavnost uporabe.

Kot večina podobnih jezikov (na primer Ruby in Perl) je Python mogoče uporabiti za karkoli, za katero koli vrsto aplikacij. Obstaja peščica spletnih aplikacij, izdelanih s pomočjo Pythona, in nekaj odličnih okvirov za razvoj spletnih strani. Z orodji, kot je Py2Exe, lahko skripte Python pakirate kot samostojne namizne aplikacije.

Toda kjer Python resnično sije in kjer dobi največ koristi, je kot orodje za analizo podatkov, drobljenje števil, znanstveno raziskovanje, kramp, skript in avtomatizacijo opravil. Python uporabljajo znanstveniki, matematiki, preizkuševalci penetracije, vohuni, kriptografi, glasbeniki, borzni posredniki in omrežni skrbniki za široko paleto aplikacij.

Če se želite naučiti, kako sestaviti lepe spletne aplikacije, boste verjetno želeli začeti z Rubyjem (ali če že)’ponovno v WordPress), PHP. Če pa se želite naučiti uporabljati računalnike za zanimive nove stvari, je Python jezik za vas.

Contents

Spletni viri Python

Na spletu je veliko gradiva Python – nekaj brezplačnega, nekaj plačljivega. To je nekaj najboljših virov za učenje Pythona.

Učenje Pythona

Priporočeni tečaji in vaje
  • Uradno spletno mesto Python
  • Začetnik’s Vodič po Pythonu – uradni kraj za začetek učenja.
    • Za neprogramirance
    • Za programerje, ki so novi v Pythonu
  • Naučite se Python the Hard Way – odličen tečaj Python za ljudi, ki se želijo resnično naučiti jezika, ne da bi pri tem uporabili bližnjice.
  • Google’s Razred Python – Google uporablja Python za številne projekte. Se želite naučiti tako, kot jo učijo? Ti lahko.
  • Vodnik po knjižnici standardov
  • Python Koans – neverjeten, filozofski pristop k programiranju Pythona in razmišljanju razvijalca s pomočjo Test Driven Development.
Druge velike Python vadnice in učni viri

Tukaj je nekaj zelo dobrih virov za učenje Python-a, ki so ga skoraj prebrodili v zgornjem “Priporočljivo” seznam. Vsakdo ima drugačen slog učenja, zato vam bo morda eden od teh ustrezal bolje kot zgornje vaje.

  • Python Videos – Ogromen seznam videoposnetkov o vseh vrstah Python Topics
  • Programiranje Python-a za začetnike – vadnica golih kosti iz Linux Journal-a.
  • Knjiga Python – poglobljena spletna knjiga, ki zajema začetke Pythona, napredne teme in vaje mny.
  • Tečaj Python – Brezplačen in obsežen sklop vadnic za Python.
  • Razvijanje spretnosti v Pythonu – zasnovanih je 42 poglavij Python-ovih vaj
  • Jastoga’s Vodnik po jeziku Python – Nabor enostavnih vaj na projektih, ki temeljijo na projektih.
  • Python 101 – uvod v Python.
    • Python 201 – vmesni Python.
  • Naučite se Pythona v 10 minutah – zelo hiter uvod v jezik.
  • Checkio – Naučite se izboljšati kodo z igro. Igranje igre, ne pa pisanje ene.
  • Python programiranje Wiki knjige
Dodatne vadbe Python

To so “Častitljiva omemba” vadnice o začetku Pythona. Nismo’ne najdem jih precej do naših (zelo visokih) standardov, vendar so vsi dokaj priljubljeni – zato bo morda eden od njih deloval dobro za vas.

  • Pitonspot
  • Uvod Python
  • Uvod v Python
  • Instant Python
  • Nasveti Python
  • Vodič za Python

Orodja za razvoj Python-a

Knjižnice, vtičniki in dodatki

Velik del moči Pythona predstavlja ekosistem odličnih orodij za izvajanje različnih vrst nalog v jeziku. Od obdelave grafike do matematične analize’je verjetno modul Python za skoraj vsako domeno, v kateri delate.

  • Shrapnel – knjižnica Python za sočasnost velikih količin.
  • MatPlotLib – Grafika in vizualizacija podatkov.
  • Mako – motor za spletno predloge.
  • PIL – knjižnica slikanja Python
    • Blazina – vilice PIL. (Zdi se, da je PIL prenehal z aktivnim razvojem. Vzglavnik pobira šibek na tem priljubljenem projektu.)
  • Paket Pyx – Python Graphics
  • Beautiful Soup – Orodja za skeniranje zaslona in nato obdelavo drevesa in vsebine.
  • Scrappy – spletna orodja za strganje.
  • Gooey – Orodja za zagotavljanje GUI-ja za programe Python v ukazni vrstici.
  • Peewee – minimalističen SQL ORM za povezovanje aplikacije Python na MySQL, PostgreSQL ali SQLite.
  • SQL Alchemy – bolj celovit SQL ORM.
  • PyGame – Platforma za gradnjo video iger v Pythonu.
  • SciPy – Znanstvena in matematična orodja za Python; zelo pomembno za znanstveno računalništvo.
  • Pande – Orodja za analizo podatkov.
  • sh – Knjižnica za klicanje drugih programov iz skriptov Python.

Viki Python vzdržuje tudi seznam nekaterih najbolj uporabnih in priljubljenih modulov Python.

IDE

IDE je integrirano razvojno okolje, orodje za upravljanje razvoja velike ali kompleksne aplikacije. Večina uporabnikov Pythona ponavadi dela v preprostem urejevalniku kode, toda tisti, ki uporabljajo Python za večje projekte, so na voljo številne odlične IDE, usmerjene v Python..

  • PyDev – Python IDE za Eclipse.
  • Komodo – Python IDE
  • PyCharm – Python IDE
  • Wing IDE – komercialni Python IDE.
  • Spyder – Python IDE za znanost in matematiko.
  • NetBeans
  • PyScripter
  • µ.dev – Microdev, čuden mali IDE iz studia Sakura.

Oglejte si tudi ta seznam urejevalnikov Pythona.

Refactoring in preverjanje kode

Razvijalci Pythona imajo kulturo, ki je bolj naklonjena čisti in učinkoviti kodi. Hkrati tudi cenijo hitrost in se pogosto hitro spustijo v kodiranje, da bi rešili takojšnje težave. Razvita so številna orodja, ki pomagajo programerjem Python avtomatizirati nalogo preverjanja kode in jo narediti učinkovitejšo.

  • PyChecker – preverjanje kode (linter).
  • Vrv
  • Popravilo koles
Orodja za izdelavo

Python je odličen pri avtomatizaciji opravil, zato ne bo presenetljivo, da obstaja veliko orodij za to in za pospešitev gradnje in uvajanja ciklov.

Na tem seznamu so tudi specializirana razvojna orodja, ki se uporabljajo za pakiranje in distribucijo Python aplikacij.

  • Pokliči – Orodje za izvajanje in skriptno opravilo.
  • Microbuild – Lahko orodje za izdelavo.
  • Pločnik – Scenografiranje opravil.
  • Orodje Pynt – Build.
  • VirtualEnv – Orodje za gradnjo izoliranih Python okolij.
  • Bitten – orodje za nenehno povezovanje za Python in Trac.
  • iPython – Interaktivna Python lupina in razvojna knjižnica; preveč kul funkcij na seznamu.
  • Py2Exe – Sestavi skripte Python v izvršljive datoteke Windows.
Spletni okviri

Če želite Python uporabiti za izdelavo spletne aplikacije, vas čakajo številne naloge na nizki ravni’Najprej morate poskrbeti – ali pa šele začnete s korakom 10 in uporabite okvir za razvoj spletnih aplikacij.

  • Django – Najbolj priljubljen okvir spletnih aplikacij za Python. Konceptualno je podoben Ruby on Rails. glej naš uvod v Django
  • Python paste – ne okvir, ampak a “okvir za okvire.” Ponuja orodja nizke ravni za gradnjo spletnih okvirov Python.
  • CherryPy – minimalistični spletni okvir Python-a.
  • TurboGears
  • Web2Py
  • CubicWeb
  • Giotto
  • Reahl
  • Wheezy

Aplikacije vgrajene v Python-u

Python uporablja veliko ljudi, za številne različne naloge in namene, vendar ni zelo priljubljen za gradnjo aplikacij, ki se širijo kot koda potrošnikom in končnim uporabnikom (tako je na primer PHP). Kljub temu se včasih uporablja v ta namen. Tu je nekaj primerov nekaterih aplikacij, vgrajenih v Python-u.

  • SchoolTool – Študentski informacijski sistem.
Sistemi za upravljanje vsebin
  • Plone – najbolj priljubljen CMS na osnovi Pythona.
  • Django CMS – Ni tako priljubljen kot Plone za CMS, ampak zgrajen na vrhu najbolj priljubljenega Python okvira.
  • MoinMoin – Python wiki-motor, ki poganja Python wiki. (Za druge Wiki CMS-ove, ki temeljijo na Pythonu, glejte to stran.)
  • CPS-CMS
  • Silva
  • ZMS

Spletna referenca Python

To je nekaj najpomembnejših referenčnih mest Python z enim virom, ki bi jih verjetno morali zaznamovati.

  • Dokumentacija Pythona
  • Python Wiki
  • Priljubljeni recepti Python
  • Indeks paketov Python

Knjige

Začetek Python-a

Če se raje učite s tiskano knjigo, odličnih ne manjka. Tu je nekaj najboljših knjig Python za začetnike. Če ne’raje knjige (ali ne’t raje plačujte stvari) pomaknite se navzdol do razdelka Spletni viri za seznam odličnih spletnih (in večinoma brezplačnih) vadnic.

  • Naučite se Pythona na trd način: zelo preprost uvod v grozljivo lep svet računalnikov in kode
  • Python za otroke
  • Tečaj Python Crash: praktični, projektni uvod v programiranje
  • Programiranje Python za začetnike: uvod v računalniški jezik Python in računalniško programiranje
  • Python Programiranje: uvod v računalništvo
  • Avtomatizirajte dolgočasne stvari s Python-om: praktično programiranje za začetnike
  • Učenje Pythona
  • Zdravo! Python

Napredno

Mnogi naprednejši koncepti programiranja Pythona niso zajeti v spletnih vajah in jih je mogoče najti le v tiskanih knjigah.

  • Strokovno programiranje Python-a
  • Python visoko zmogljivo programiranje
  • Python Parallel Programming Cookbook
  • Python v praksi: ustvarite boljše programe z uporabo sočasnosti, knjižnic in vzorcev
  • Napredne tehnike programiranja Python 3
  • Obvladovanje objektno usmerjenega Pythona
  • Učinkovit Python: 59 posebnih načinov, kako napisati boljši Python
  • Strojno učenje Pythona
  • Pomisli Python
  • Profesionalni Python
  • Visoko zmogljiv Python: praktično izvedljivo programiranje za ljudi
  • Spletno strganje s Python-om: zbiranje podatkov iz modernega spleta
  • Test-Driven razvoj s Python-om
  • Tečen Python
  • Igrišče Python: Geeky projekti za radovednega programerja
  • Temelji omrežnega programiranja Python: Izčrpen vodnik za gradnjo omrežnih aplikacij s programom Python
  • Vodnik po: Iteracija učenja in generatorji v Pythonu
Python za matematiko, znanost in podatke

Python se v matematiki in naravoslovju pogosto uporablja iz vsaj nekaj razlogov: – Za jezik obstajajo odlična matematična in naravoslovna orodja, kot sta SciPy in NumPy. – Jezik se dobro prilagaja hitrim programerskim nalogam, zato je Python enostaven za uporabo za ad hoc analizo podatkov brez gradnje celovitih aplikacij.

Tako kot pri splošnih naprednih temah boste tudi pri iskanju informacij o specializiranih temah iz naprednega programiranja Python našli veliko več odličnih knjig kot brezplačna spletna mesta in spletne vadnice.

  • Delajte matematiko s Pythonom
  • Python za analizo podatkov: Data Wrangling with Pandas, NumPy in IPython
  • Podatki o znanosti Python Data Science
  • Data Science from Scratch: Prva načela s Pythonom
  • Učenje podatkovnega rudarjenja s programom Python
  • Napredni Python za biologe
  • Python for Finance: Analizirajte velike finančne podatke
  • Struktura podatkov in algoritmično razmišljanje s Python-om: Struktura podatkov in algoritmi uganke
  • Python za informatiko: raziskovanje informacij
  • Izvedeni finančni instrumenti s Python-om
  • ArcPy in ArcGIS: Geoprostorska analiza s Python-om
  • Učenje pand – enostavno odkrivanje in analiza podatkov Python
  • Učenje geoprostorske analize s Python-om
  • Statistika, rudarjenje podatkov in strojno učenje v astronomiji: praktični vodnik Python za analizo anketnih podatkov
Python za taksist

Zaradi svoje primernosti za ad hoc programiranje in avtomatizacijo opravil se Python precej navadi tudi na ljudi, ki se radi vdrejo v stvari, pa tudi ljudi, ki jih poskušajo ustaviti. (Predvidevamo, da ste eden izmed dobrih fantov, seveda.)

  • Nasilni Python: kuharska knjiga za hekerje, forenzične analitike, preizkuševalce penetracije in varnostne inženirje
  • Black Hat Python: Programiranje Pythona za hekerje in pentestre
  • Python za skrivne agente

Referenca

Tu je nekaj odličnih referenčnih miz za Python, za ljudi, ki jim je všeč takšno početje. Medtem ko so nekatere zgoraj omenjene napredne teme samo za knjige, je večino osnovnega referenčnega gradiva tukaj lažje najti v spletu z dobrim iskalnikom – vendar imajo nekateri raje tiskane kopije.

  • Bistvena referenca Python
  • Kuharska knjiga Python
  • Reference žepka Python

Izjeme Python-a

Ker so izjeme kritično pomembne za programiranje Python-a, smo pripravili naslednjo vadnico, ki vas bo hitro seznanila s tem vidikom Pythona.

Ko gre pri izvajanju programa Python, kaj se zgodi? No, če naslednja stvar ni izjema … dve stvari sta se narobe.

Python navaja izjeme kot odgovor na vse vrste napak. Kot razvijalci Pythona vam izjeme povedo, kaj je narobe s kodo in kje. Prav tako lahko določite in postavite svoje izjeme.

V tem članku si bomo ogledali vgrajene izjeme Pythona in raziskali ravnanje z izjemami.

Kako se gradijo izjeme

Po načelih objektno usmerjenega programiranja so v razredih izjem določene izjeme. Ti razredi so organizirani v hierarhiji dedovanja. Na primer, IndentationError je podrazred SyntaxError.

Ko se izjema izjema, se ustvari primerek posameznega razreda izjem. Če napako ujamete (kot je storjeno v razdelku, razen spodaj), jo lahko preverite.

>>> poskusi:
… dvignite ValueError
… razen ValueError kot e:
… tisk (str (vrsta (e)) + "n" + str (dir (e)))

[‘__ why__’, ‘__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__’,
‘args’, ‘with_traceback’]

Opomba o vzorcih kode: Šifre vzorcev s >>> poziv lahko preizkusite s pomočjo interaktivnega tolmača. Samo vtipkajte python3 v terminal. Vse, pred čimer ni >>> ali … to je izhod. Vzorci kode brez poziva so primeri kode, ki jo dejansko lahko napišete v .py modul.

Izvlečki izjeme

Ti razredi izjem se uporabljajo kot osnovni razred za druge izjeme.

BaseException

To je osnovni razred, iz katerega izhajajo vse druge izjeme.

Izjema

Vse vgrajene izjeme, ki ne obstajajo v sistemu, izhajajo iz tega razreda. Iz tega razreda naj bi izhajale tudi vse izjeme, ki jih definirajo uporabniki.

razred MyNewException (izjema):

def __str __ (samo):
vrnitev "Pojavila se je MyNewException."

ArithmeticError

Dedovali so izjeme, povezane z aritmetiko:

  • OverflowError
  • ZeroDivisionError
  • FloatingPointError

BufferError

Zviša se, kadar operacije, povezane s pufrom, ni mogoče izvesti.

LookupError

Dedovali so izjeme, povezane z neveljavnimi ključi ali indeksi. Na primer, slaba tipka na sliki ali indeks zunaj dosega na seznamu.

Konkretne izjeme

AssertionError

Izpostavljeno o neuspelih trditvah.

>>> trditev 1 > 2
Napaka trditve

AttributeError

Navedeno zaradi neuspeha sklicevanja ali dodelitve atributa.

>>> x = 1

>>> x.name
AttributeError: objekt ‘int’ nima atributa ‘ime’

>>> x.name = "eno"
AttributeError: objekt ‘int’ nima atributa ‘ime’

EOFError

Zviša se, ko vhod () doseže konec datoteke (EOF) brez branja podatkov.

FloatingPointError

Zviša se, ko operacija plavajoče točke ne uspe. Upoštevajte, da se ta izjema običajno ne poveča, razen če je konfigurirana in da večina izjem, ki niso strokovni uporabniki, ravna z izjemami s plavajočo vejico…

GeneratorExit

Zviša se, ko se generator ali poizvedba zaženeta. To pravzaprav ni napaka, saj je zapiranje normalno vedenje.

ImportError

Zviša se, ko izjava uvoza ne uspe.

>>> uvoz ModuleThatDoesNotExist
ImportError: Nobenega modula z imenom ModuleThatDoesNotExist

V Python-u 3.6 in novejših različicah je poleg tega še podrazred ModuleNotFoundError.

IndexError

Zviša se, kadar omenjeni indeks ni veljaven.

>>> l = ["nič", "eno", "dva"]
>>> l [4]
IndexError: seznam indeksa zunaj dosega

KeyError

Zviša se, ko slovarskega ključa ni mogoče najti.

>>> d = {‘TOS’: ‘Kirk’, ‘TNG’: ‘Picard’, ‘DS9’: ‘Sisko’, ‘VOY’: ‘Janeway’}
>>> d [‘ENT’]
KeyError: ‘ENT’

KeyboardInterrupt

Zviša se ob pritisku na tipko za prekinitev (CTRL-C).

>>> medtem ko je res
… prehod

^ C
KeyboardInterrupt

MemoryError

Zviša se, ko operaciji zmanjka pomnilnika.

NameError

Zviša se, ko imena spremenljivke ni mogoče najti.

>>> medtem ko je resnično:
… prehod

^ C
KeyboardInterrupt

NotImPLmentedError

To je namenjeno zapisu v razrede; ne dvigujejo ga nobene vgrajene funkcije. Ima dve uporabi:

  • Narejene po abstraktnih metodah, kar pomeni, da jih je treba prepisati v izvedene razrede.
  • Povzeto po izvedenih razredih, kar pomeni, da je treba dodati izvedbo. To omogoča nalaganje razreda brez dviga izjeme.

OSError

Zviša se ob vrnitvi sistemske napake. Za več informacij o OSErrorju si oglejte spodaj.

OverflowError

Zviša se, ko je rezultat matematične operacije prevelik.

RecursionError

Zviša se, ko je presežena največja globina rekurzije.

ReferenceError

Zviša se, ko se za dostop do predmeta uporabi šibek referenčni proxy, potem ko je bil odbran smeti.

RuntimeError

Pojavi se ob odkritju napake, ki ne spada v nobeno od drugih kategorij.

StopIteration

Povišata naslednji () in __next __ (), ko iterator ne bo ustvaril nadaljnjih elementov.

StopAsyncIteration

Mora ga dvigniti anext () metoda predmeta asinhronega iteratorja za zaustavitev iteracije.

To je novo v različici 3.5.

SyntaxError

Zvišana na napaki sintakse.

>>> 1 = 2
SyntaxError: ni mogoče dodeliti dobesednemu

IndentationError

Zvišane na napakah vdolbine.

>>> če je 1 == 1:
… x = 1
IndentationError: pričakovano vdrt blok

TabError

Podrazred IndentaError, ki je postavljen, kadar zamik uporablja jezičke in presledke nedosledno.

Sistemska napaka

Opaženo na neresnih notranjih napakah.

SystemExit

Zvišala ga je funkcija sys.exit ().

TypeError

Pokliče se, ko je klicano delovanje ali funkcija na neprimerni vrsti predmeta.

>>> 1 > "eno"
TypeError: neureljivi tipi: int () > str ()

Uporabniška koda mora zvišati TypeError zaradi neustrezno vnesenih funkcijskih vnosov.

Brez povezaveLocalError

Zviša se, ko se v funkciji ali metodi sklicuje lokalna spremenljivka, vendar spremenljivka ni bila definirana.

UnicodeError

Osnovni razred, ki se uporablja za napake, ki se pojavijo pri ravnanju z Unicode nizi. Ima tri podrazrede:

  • UnicodeEncodeError
  • UnicodeDecodeError
  • UnicodeTranslateError

ValueError

Zviša se, ko se funkcija ali operacija pokliče z argumentom prave vrste, vendar z neprimerno vrednostjo, razen če se uporabi večja specifična napaka. (Na primer, indeks zunaj dosega dvigne IndexError.)

>>> f = odprto ("ime-datoteke-datoteke.txt", "m")
ValueError: neveljaven način: ‘m’

ZeroDivisionError

Zviša se ob poskusu delitve na nič.

>>> 1/0
ZeroDivisionError: delitev na nič

>>> 1,0 / 0
ZeroDivisionError: float delitev z ničlo

>>> 1% 0
ZeroDivisionError: cela delitev ali modulo z ničlo

Več o OSErrorju

OSError je bil prenovljen v Pythonu 3.3. Zdaj obstajajo trije vzdevki za OSError, pa tudi številni izvedeni razredi za različne primere napak.

Zbirke OSError

  • EnvironmentError je bil prvotno osnovni razred za OSError in IOError.
  • IOError je bil prvotno sprožen zaradi napak med katero koli operacijo V / I, vključno s tiskanjem ali branjem iz datoteke.
  • WindowsError je bil prvotno postavljen za kakršne koli napake, povezane s sistemom Windows.

Vse tri so bile obdržane izključno zaradi združljivosti, ampak so dejansko vzdevki OSErrorja.

Podklasi OSError

Vsi so izpeljani iz OSErrorja in se sprožijo glede na kodo napake, ki jo vrne operacijski sistem. Spodaj v vsakem opisu je sistem errno.

BlokiranjeIOErrorja

Zviša se, ko bi operacija povzročila blokado nabora, ki je nastavljen za ne-blokiranje.

  • EAGAIN
  • VEDNO
  • EWOULDBLOCK
  • EINPROGRESS
ChildProcessError

Zviša se, ko operacija na otroškem procesu ne uspe.

  • OČE
Napaka v povezavi

Osnovni razred za napake, povezane s povezavami.

Podrazredi:

  • BrokenPipeError, dvignjen ob poskusu pisanja na zaprti cevi ali vtičnici.
    • EPIPE; ESHUTDOWN
  • ConnectionAbortedError, dvignjen, potem poskus poskusne povezave prekine vrstnik.
    • ECONNABORTED
  • ConnectionRefusedError, postavljen, ko vrstnik zavrne poskus povezave.
    • ZASEBNO
  • ConnectionResetError, ki se sproži, ko vrstnik ponastavi povezavo.
    • ECONNRESET
FileExistsError

Zviša se pri poskusu ustvarjanja datoteke ali imenika, ki že obstaja.

  • EEXIST
FileNotFoundError

Zviša se, ko zahtevana datoteka ali imenik ne obstaja.

  • ENOENT
InterruptError

Zviša se, ko dohodni signal prekine sistemski klic.

  • EINTR

Upoštevajte, da bodo prek Python 3.5 prekinjeni sistemski klici znova poskusni, razen če upravljavec signalov ne bo povzročil izjeme.

IsADirectoryError

Zviša se, ko se v imeniku poskusi samo operacija datoteke (na primer os.remove ()).

  • EISDIR
NotADirectoryError

Zviša se, ko se poskusi v datoteki ali drugem objektu, ki ni imenik, poskusiti samo v imeniku (na primer os.listdir ())..

  • ENOTDIR.
PermissionError

Zviša se pri poskusu izvajanja operacije brez zadostnih dovoljenj.

  • EACCES
  • EPERM
ProcessLookupError

Zviša se, ko omenjeni postopek ne obstaja.

  • ESRCH
TimeoutError

Zviša se, ko sistemska funkcija izteče.

  • ETIMEDOUT

Opozorila

Ti razredi izjem se uporabljajo kot osnovni razredi za opozorilne izjeme.

Opozorilo

Dedovali so vsi opozorilni podrazredi.

Uporabniško opozorilo

Dedovali so opozorila, ki jih ustvari uporabniška koda.

OpustitevOpozorilo

Podedovali so opozorila o zastarelih funkcijah.

Opozorilo v teku

Dedovali so opozorila o lastnostih, ki bodo v prihodnosti opuščene.

SintaksaOpozorilo

Dedovali so opozorila o problematični skladnji.

RuntimeWarning

Dedovali so opozorila o problematičnem vedenju izvajanja.

Prihodnost

Podedovana so opozorila o konstruktih, ki se bodo v prihodnosti spremenili.

Uvozna opozorila

Dedovali so opozorila o možnih napakah pri uvozu paketov in modulov.

UnicodeWarning

Podedovali so opozorila, povezana z Unicode.

Opozorilo bajtov

Dedovali so opozorila, povezana z bajti in bytearray.

VirWarning

Dedovali so opozorila, povezana z uporabo virov.

Povečanje vgrajenih izjem v kodi

Kot odziv na različne uporabniške ukrepe morda želite izjeme. To je tako enostavno kot uveljavljanje dviga. Lahko posredujete niz, ki bo prikazan uporabniku.

def ObnoxiousFavoriteColorAssigner (barva):
če vrsta (barva) ni str:
dvigni TypeError ("Potrebujem vrvico.")
če je barva v ["rdeča", "zelena", "modro"]:
favorite_color = barva
drugo:
dvignite ValueError ("To ni * res * barva.")

Ravnanje izjem

Urejate lahko izjeme, ki se pojavijo, ko se koda izvaja z uporabo poskusov in razen.

def EverybodyLovesRed ():
medtem ko je resnično:
poskusi:
ObnoxiousFavoriteColorAssigner (input ())
zlom
razen TypeError kot napaka:
natisni (napaka)
razen ValueError:
ObnoxiousFavoriteColorAssigner ("rdeča")

Določanje izjem po meri

Če želite ustvariti svoje izjeme po meri, lahko razširite katero koli od vgrajenih izjem. To se najpogosteje izvaja v velikih okvirih.

razred ColorError (ValueError):
"""
Zraste, ko kdo predlaga, da obstajajo barve
razen rdeče, modre in zelene.
"""

def __str __ ():
vrnitev "Barve obstajajo le v vaših očeh."

def ObnoxiousFavoriteColorAssigner (barva):
če vrsta (barva) ni str:
dvigni TypeError ("Potrebujem vrvico.")
če je barva v ["rdeča", "zelena", "modro"]:
favorite_color = barva
drugo:
dvignite ColorError

Pri ustvarjanju lastnega razreda izjem po meri je dobro, da v docstring vključite ustrezne informacije o tem, kdaj ali kako se lahko izjema poveča. Poleg tega ta logika ni vključena v kodo, ki določa izjemo.

Več o Python Exceptions

  • Ne pozabite prebrati uradno dokumentacijo o napakah in celoten seznam vgrajenih izjem.
  • Dokončni vodnik Python izjem je napisal razvijalec Python Julien Danjou.
  • Codementor.io ima pisanje in uporabo izjem po meri v Pythonu.

Pogosta vprašanja o Pythonu

Kaj pomeni, da je Python a “skriptni jezik”?

Scenarski jezik je jezik, ki se med izvajanjem razlaga, namesto da bi bil sestavljen v binarni izvedljiv program.

Nekateri uporabljajo besedno zvezo “skriptni jezik” da nakaže, da je jezik še posebej dober pri pisanju na kratko “skripte,” ali miniaturnih ad hoc programov, ki se uporabljajo za avtomatizacijo nalog.

Python ustreza obema opisoma – je tolmačen jezik, zelo uporaben pa je tudi za pisanje kratkih, ad hoc skriptov.

So skriptni jeziki, kot je Python, dober za pisanje aplikacij v polnem obsegu?

Nekateri so nagnjeni k uporabi skriptnih / tolmačenih jezikov za celotne aplikacije. Modrost te pristranskosti je povsem odvisna od posameznega konteksta.

Jeziki skripta ponavadi delujejo nekoliko počasneje kot sestavljeni jeziki, v nekaterih primerih pa je ta razlika v uspešnosti velik problem. Vendar je v večini kontekstov zanemarljiva skrb.

Python je popolnoma primeren za pisanje prijav vseh vrst. Uporaba Django ali drugega spletnega okvira vam omogoča izdelavo spletnih aplikacij. Glede orodja in zmogljivosti, potrebnih za pisanje aplikacij v polnem obsegu, Python nima ničesar pomanjkljivega. Pravzaprav je Python zagotovo veliko bolj primeren za takšno delo kot PHP ali JavaScript, oba pa se pogosto uporabljata za velike, zapletene spletne aplikacije.

Naj se naučim Pythona?

To je odvisno od vaših ciljev.

Če upate sestaviti običajne spletne aplikacije, se verjetno naučite PHP ali Ruby (in Rails), skupaj z JavaScript, HTML in CSS. Tam’ni razloga, da za to delo ne bi mogli uporabiti Pythona, vendar to ni značilno. PHP in Ruby bi vam omogočili dostop do veliko več obstoječih spletnih aplikacij, okvirov in orodij za spletni razvoj.

Če želite uporabiti programske spretnosti za neposredno izvajanje nalog, kot je avtomatizacija ali analiza, je Python odličen jezik za tovrstna dela in tam dobi največ koristi..

Če gradite aplikacije, ki morajo manipulirati s podatki na specializiranem področju ali domeni – kot so matematika, znanost, finance, glasba ali kriptografija – je Python odličen jezik tudi za tovrstne projekte.

Nadaljnje branje in viri

Na voljo imamo več vodnikov, vadnic in infografik, povezanih s programiranjem in statistiko:

  • C Sredstva za razvijalce: vse, kar potrebujete, da začnete s tem klasičnim jezikom.
  • Uvod v Ruby on Rails: spoznajte ta priljubljeni scenaristični jezik.
  • Programiranje statistike: Stata je celotno razvojno okolje za analizo podatkov.

Katere kode bi se morali naučiti?

Zmeden, v kateri programski jezik se morate naučiti kodirati? Oglejte si našo infografiko. Kakšno kodo bi se morali naučiti? Ne samo, da razpravlja o različnih vidikih jezikov, temveč odgovarja na pomembna vprašanja, kot so: “Koliko denarja bom zaslužil za programiranje Java?”

Katere kode bi se morali naučiti?
Katere kode bi se morali naučiti?

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