Ne glede na to, ali ste strokovnjak ali začetnik programiranja za Python, morate biti seznanjeni z uvozni moduli ukaz. Kot novinec pa morda ne boste vedeli, od kod prihajajo ti moduli.

Poglejmo si globlje, da bomo razumeli izvor teh modulov, skupaj s tem, kako jih ustvariti in uvoziti za ponovno uporabo.

Kaj je ponovna uporabnost kode in zakaj bi to morali storiti?

Ena najboljših praks pri delu z večino jezikov na strani strežnika je modularizacija vaše kode, tako da jo je mogoče ponovno uporabiti. Ker je Python objektno usmerjen, je eden tistih jezikov, ki omogoča ponovno uporabo kode.

Modularizacija kode vključuje pisanje kod, ki izvajajo različna navodila v blokih. Uporablja se za ločevanje nalog med seboj.

Ko modulirate kodo, ji daste edinstveno ime. To ime je njegova identiteta in pomeni, da boste morali naslednjič, ko boste uporabili ta blok kode, izgovoriti samo njegovo ime in ne celotne kode.

Ta praksa vam veliko olajša in pospeši delo v resničnem projektu. Modularizacija kode prav tako izboljša hitrost izvajanja in olajša testiranje. V bistvu je vaša koda bolj učinkovita in berljiva.

Čeprav naš primer tukaj ne temelji na objektno usmerjenem programiranju (OOP), ga moramo na kratko razpraviti, preden nadaljujemo z ustvarjanjem modula.

Koda, ki jo želite včasih ponovno uporabiti, je lahko samostojna kot posamezna funkcija. Lahko pa je tudi v obliki metode v razred. Takrat nastopi koncept OOP.

Objektno usmerjeno programiranje v Pythonu

OOP je predstavitev kod kot samostojnih predmetov v obliki razreda. Vsak objekt ima nato svoje atribute in metode.

Ti atributi so značilnosti razreda, medtem ko vsaka metoda definira vedenje atributov.

Namesto pisanja dolge kode, ki je manj učinkovita v postopkovnem programiranju, postane vaša koda bolj učinkovita in specifična v OOP. Razlog je v tem, da so funkcije in podatki shranjeni v neodvisnih razredih v OOP, v nasprotju z ločevanjem obeh v postopkovnem programiranju.

Vsak razred, ki ga ustvarite, nato prevzame identiteto. Torej, ko potrebujete imenovani modul iz razreda, ga pokličete s sklicevanjem na ta razred.

Za boljše razumevanje si oglejte našo začetniški vodnik za razumevanje OOP.

Kaj je objektno usmerjeno programiranje? Osnove, razložene v laičnih izrazih

Večina sodobnih programskih jezikov podpira paradigmo "objektno usmerjenega programiranja" (OOP). Kaj pa je pravzaprav OOP in zakaj je tako koristen?

Izdelava funkcij za večkratno uporabo: praktični primer

Nadaljujemo, poglejmo si, kako lahko ponovno uporabimo funkcijo za števec besed v drugi datoteki Python. Ta vodnik se bo osredotočil samo na ustvarjanje funkcij za večkratno uporabo, ki niso znotraj predmeta.

Najprej odprite ukazni poziv na katerem koli mestu v računalniku, da začnete nov projekt. V tem primeru bomo uporabili ime projekta Število besed. Če želite to narediti, vnesite mkdir_število besed.

Nato uporabite želeno orodje za navidezno okolje ustvarite novo navidezno okolje. Če ste ga že ustvarili, ga preprosto aktivirajte. Prepričajte se, da ste še vedno v imeniku svojega projekta.

Kot dobra praksa pri ustvarjanju funkcije števec besed najprej skušamo ugotoviti surovo formulo za njen izračun. Na splošno lahko število besed poiščete tako, da ga dodate številu presledkov v stavku. Upoštevajte, da morda ne potrebujete števila besed, vendar je za to razlago pomemben način, kako se ideja nanaša na ponovno uporabo kode.

Nato odprite urejevalnik besedil na lokaciji svojega projekta in ustvarite novo datoteko Python. V tem primeru je datoteka poimenovana kot wordcounter.py; poskrbite, da boste uporabili pravilno .py podaljšanje.

Tukaj je kaj besedni števec datoteka je videti tako:

# ustvari spremenljivko, imenovano beseda, ki vsebuje nekaj nizov
word = ['kako narediti števec besed v pythonu']
# Nato zavrtite skozi spremenljivko za štetje besed v ustvarjeni spremenljivki
NumberOfWords = [Vsaka beseda.count ('') + 1 za vsako besedo v besedi]
tisk (NumberOfWords)
izhod: [8]

Zdaj, ko surova koda deluje, jo nato moduliramo tako, da ustvarimo funkcijo, zaradi katere je koda večkrat uporabna:

def CountWords (besede):
če besede niso None:
NumberOfWords = [Everyword.count ('') + 1 za vsako besedo v besedah]
vrni NumberOfWords
mywords = ['izdelava števca besed v pythonu']
tiskanje (CountWords (moja beseda))
izhod: [6]

To je to; ustvarili smo modul števca besed. Poglejmo, kako jo ponovno uporabiti.

Uvoz ustvarjenega modula

Ne pozabite, da ste prej ustvarili datoteko z imenom wordcounter.py. Ta datoteka vsebuje funkcijo, imenovano CountWords. Če to funkcijo potrebujete v novi datoteki in ne želite prepisati celotne kode ali funkcije, morate to funkcijo samo uvoziti kot modul v novo datoteko.

Upoštevajte, da morajo biti vse vaše datoteke Python v istem imeniku, v tem primeru. Če se želite prepričati, da je temu tako, preprosto ustvarite novo datoteko Python v istem imeniku, kjer imate wordcounter.py mapa.

Evo, kako izgleda nova datoteka:

iz wordcounter import CountWords
words = ["kako uvoziti in ponovno uporabiti kodo v Pythonu"]
CountWords (besede)
izhod: [9]

V zgornjem delčku, CountWords je funkcija znotraj wordcounter.py mapa. Za ponovno uporabo te funkcije v novi datoteki Python jo uvozimo iz njene nadrejene datoteke (wordcounter.py).

Uvoz vašega ustvarjenega modula absolutno

Kaj pa, če nova datoteka ni v istem imeniku kot datoteka modula? V teh primerih se morate na modul sklicevati z uporabo absolutnega uvoza.

Da bi to še bolje razumeli, predpostavimo, da ste ustvarili novo datoteko v imeniku vašega projekta. Toda datoteka, iz katere nameravate uvoziti svojo funkcijo (ki je besedni števec, v tem primeru), je v drugi mapi znotraj imenika vašega projekta, ki pokliče to mapo podbesedno_število.

Za uvoz modula iz besedni števec (ki je zdaj znotraj podbesedno_število map) v novo datoteko Python, jo morate popolnoma poklicati. Če želite videti, kako to deluje, v imeniku projekta ustvarite novo datoteko, ji dajte želeno ime in uvozite svoj modul, kot je zapisano v spodnjem delčku kode:

iz subword_count.wordcounter import CountWords
words = ["kako uvoziti in ponovno uporabiti kodo v Pythonu za datoteke v različnih mapah."]
CountWords (besede)
izhod: [14]

Med absolutnim uvozom Python brska po nadrejeni mapi (podbesedno_število v tem primeru) in poišče datoteko ali modul, ki vsebuje funkcijo, ki nas zanima (CountWords).

Če želite razčleniti pomen absolutnega uvoza zgoraj, podbesedno_število je mapa v imeniku vašega projekta, ki vsebuje wordcounter.py mapa. Ta datoteka nato vsebuje CountWords funkcijo.

Kje deluje ponovna uporabnost kode?

Modularizacija in ponovna uporaba kode je najboljša praksa za kateri koli projekt, ki ga izvajate. Če napišete OOP, kar boste verjetno pogosto počeli, lahko razred uvozite iz modula ali pokličete funkcijo iz razreda. Če je razred v mapi, ga popolnoma uvozite v novo datoteko.

Ista praksa velja za funkcije, ki niso v objektu. Glede na postavitev vašega projekta jih lahko uvozite izrecno ali popolnoma, kot smo storili zgoraj.

E-naslov
Priročnik za začetnike za objektno usmerjeno programiranje Python

Če želite v celoti izkoristiti prednosti Pythona, boste želeli izvedeti, kako Python deluje z objektno usmerjenim programiranjem (OOP).

Sorodne teme
  • Programiranje
  • Programiranje
  • Python
  • Objektno usmerjeno programiranje
O avtorju
Idowu Omisola (45 objavljenih člankov)

Idowu je navdušen nad vsemi pametnimi tehnologijami in produktivnostjo. V prostem času se poigrava s kodiranjem in preklopi na šahovnico, ko mu je dolgčas, a se občasno rad tudi odmakne od rutine. Njegova strast do tega, da ljudem kaže pot okoli sodobne tehnologije, ga spodbuja, da piše več.

Več od Idowu Omisola

Naročite se na naše novice

Pridružite se našemu glasilu za tehnične nasvete, preglede, brezplačne e-knjige in ekskluzivne ponudbe!

Še en korak…!

Potrdite svoj e-poštni naslov v e-poštnem sporočilu, ki smo vam ga pravkar poslali.

.