1. ProgramingPythonKas yra Python modulis?

Autorius: Alanas Shovicas, Johnas Shovicas

Visiems „Python“ modulių kabliams modulis iš tikrųjų yra gana paprastas dalykas. Tiesą sakant, „Python“ modulis yra tik failas su .py plėtiniu, kuriame yra „Python“ kodas. Viskas. Taigi kiekvieną kartą rašydami Python kodą ir išsaugodami jį .py faile, iš esmės sukūrėte modulį.

Tai nereiškia, kad visada turite naudoti šį kodą kaip modulį. Tai tikrai gali būti traktuojama kaip atskira programa. Bet jei norėtumėte sukurti savo „Python“ modulį su tik kodu, kurio jums dažnai reikia dirbant, tikrai galite tai padaryti.

programavimo Python moduliai

„Python“ modulis taip pat yra tik failas su .py failo pavadinimo plėtiniu. Modulio pavadinimas sutampa su failo pavadinimu (be .py). Kaip ir bet kuriame .py faile, modulyje yra Python kodas. Tarkime, tarkime, kad norite turėti tris funkcijas, skirtas supaprastinti datų ir valiutų verčių formatavimą. Kiekvienai funkcijai galite sudaryti bet kokį jums patinkantį pavadinimą. Savo darbiniam pavyzdžiui naudosime šiuos tris pavadinimus:

  • to_date (any_str): leidžia perduoti bet kurią eilutę (any_str) datą mm / dd / mm arba mm / dd / yyyy formatu ir siunčia atgal „Python datetime.date“, kurią galite naudoti datos skaičiavimui. mdy (any_date): leidžia praleisti bet kurią Python datą arba dienos laiką ir grąžina eilutės datą, suformatuotą mm / dd / mm, formatu, kad ji būtų rodoma ekrane. „to_curr“ (any_num, len): leidžia pravažiuoti bet kurį „Python“ kintamąjį ar sveikąjį skaičių ir grąžina eilutę su pagrindiniu dolerio ženklu, kableliais tūkstančiuose vietų ir dviem skaitmenimis už centus. Lenas yra pasirenkamas ilgio numeris. Jei bus pateikta, grąžinimo vertė bus kairėje pusėje su tarpais, kad atitiktų nurodytą ilgį

Taigi čia yra visas to kodas:

# Sudėtyje yra pasirinktinės datų ir valiutų verčių funkcijos.
importuoti dienos laiką kaip dt
def to_date (any_str):
"Konvertuoti mm / dd / md arba mm / dd / vgg eilutes į datetime.date arba" None ", jei neteisinga data." ""
bandyti:
jei len (any_str) == 10:
the_date = dt.datetime.strptime (any_str, '% m /% d /% Y'). data ()
Kitas:
the_date = dt.datetime.strptime (any_str, '% m /% d /% y'). data ()
išskyrus („ValueError“, „TypeError“):
the_date = Nėra
grąžinti datą
def mdy (any_date):
"" "Grąžina eilutės datą mm / dd / mm formatu. Įveskite Python datą arba eilutės datą mm / dd / mm formatu" ""
if type (any_date) == str:
any_date = to_date (anydate)
# Įsitikinkite, kad jos datos laikas bus persiųstas
jei yra būtinybė (any_date, dt.date):
s_date = f "{any_date: '% m /% d /% Y'}"
Kitas:
s_date = "Netinkama data"
grąžinti s_date
def to_curr (anynum, len = 0):
"" "Grąžina skaičių kaip eilutę su $ ir kableliais. Ilgis yra neprivalomas" ""
s = "neteisinga suma"
bandyti:
x = plūdė (anynum)
išskyrus „ValueError“:
x = nėra
jei būtina (x, plūduriuojantis):
s = '$' + f "{x:,. 2f}"
jei len> 0:
s = s.rjust (len)
grįžti s

Tą patį failą galite sukurti patys ir pavadinti jį manofunctions.py, jei norite sekti. Atminkite, kad faile yra tik funkcijos. Taigi, jei jį paleisite, jis nieko nepadarys ekrane, nes jame nėra kodo, kuris skambintų bet kuriai iš šių funkcijų.

Jei norite naudoti šias funkcijas bet kurioje jūsų parašytoje „Python“ programoje ar programoje, pirmiausia įsitikinkite, kad nukopijavote tą „myfunc.py“ failą į tą patį aplanką, kaip ir likusį jūsų rašomą „Python“ kodą. Tuomet, kurdami naują puslapį, galite importuoti „myfunc“ kaip modulį, kaip ir bet kurį kitą, kurį sukūrė kažkas kitas. Tiesiog naudok

importuoti „myfunc“

Turėsite naudoti modulio pavadinimą prieš bet kurią funkciją, kuriai skambinate iš to modulio. Taigi, jei norite, kad kodas būtų labiau skaitomas, galite naudoti tai:

importuoti myfunc kaip mano

Jei tai jūsų pradinė eilutė, galite nurodyti bet kurią savo pritaikyto Python modulio funkciją su mano. kaip priešdėlis. Pvz., My.to_date (), norint paskambinti funkcijai „to_date“. Čia yra puslapis, kuris importuoja modulį ir išbando visas tris funkcijas, naudodamas tą mano sintaksę:

# Importuokite visą kodą iš myfunc.py kaip mano.
importuoti myfunc kaip mano
# Reikia kodų šiame kode
iš datetime import datetime as dt
# Keletas paprastų testo duomenų.
string_date = "2018-12-31"
# Konvertuoti eilutės datą į datetime.date
spausdinti (my.to_date (string_date))
šiandien = šiandien (šiandien)
# Rodyti šiandienos datą mm / dd / mm formatu.
spausdinti (my.mdy (šiandien))
dolerio_amtas = 12345,678
# Rodyti šį didelį skaičių valiutos forma.
spausdinti („my.to_curr“ („dollar_amt“))

Taip pat galite praleisti naudodami prefiksą, jei importuosite elementus pagal pavadinimą. Tai reiškia, kad jūs galite paskambinti to_date () ir mdy () bei to_curr (), nenaudodami mano. priešdėlis. Pirmoji kodo eilutė turėtų būti

iš „myfunc“ importo į „data“, „mdy“, „į„ curr “

Likęs kodas būtų tas pats, kaip ir ankstesniame pavyzdyje, išskyrus tai, kad galite palikti „my“. priešdėliai, kaip ir šiame kode:

# Importuokite visą kodą iš myfunc.py pagal pavadinimą.
iš „myfunc“ importo į „data“, „mdy“, „į„ curr “
# Reikia kodų šiame kode
iš datetime import datetime as dt
# Keletas paprastų testo duomenų.
string_date = "2018-12-31"
# Konvertuoti eilutės datą į datetime.date
spausdinti (to_date (string_date))
šiandien = šiandien (šiandien)
# Rodyti šiandienos datą mm / dd / mm formatu.
spausdinti (mdy (šiandien))
dolerio_amtas = 12345,678
# Rodyti šį didelį skaičių valiutos forma.
spausdinti („curr“ (dolerio_amtas))

Peržiūrėkite šiuos 10 nuostabių „Python“ programavimo šaltinių, kad gautumėte daugiau informacijos.

Taip pat žiūrėkite

Dyzelinių variklių pliusai ir minusai Kaip paleisti „CarHow“? Kaip sužinoti, ar reikia jūsų transporto priemonės suderinimo? Kaip pašalinti katalizinius keitiklius? Kaip dažnai turėtumėte pakeisti savo alyvą? Kaip patikrinti jūsų automobilio alyvos lygį? Kaip praplauti automobilio aušinimo sistemą? Kaip pašalinti perkaitimą VariklisKaip pakeisti padangą Kaip sumontuoti uždegimo žvakę Kaip pašalinti senus uždegimo žvakė Kaip patikrinti jūsų stabdžių linijas Kaip patikrinti diskinius stabdžius Kaip pakeisti jūsų stabdžių skystįBendrieji „Fitbit“ trikčių šalinimo būdai„iPhone For Dummies“ žaidimų kodaiStatistika ir histogramosGeriausio „DevOpsWhy DevOps“ dalyko „debesies“ paslaugų teikėjo, funkcijų ir įrankių pasirinkimas: 11 būdų, kaip „DevOps“ yra naudingi jūsų organizacijai, naudokite daugiau „Cloud Device“ įrankių: „DevOps“ automatizavimas „CloudTips“ inžinerijos našumui pagerinti naudojant „DevOps“. „DevOps“ komandos formavimo interviu metodai: Tinkamų techninių įgūdžių įgijimasTęstinis integravimas ir nuolatinis pristatymas: CI / CDTop 10 „DevOps“ spąstų įgyvendinimas ir pranašumai: Kodėl jūsų programinės įrangos projektai nesėkmingi? Kas yra „DevOps“? „DevOps For Dummies“, „Cheat SheetBase“, perkėlimo kaina. Visas „CostHow“, kaip rasti jūsų kontaktus „Instagram“, „Best DevOps“ paslaugų teikėjo pasirinkimas, funkcijos ir įrankiai