1. ProgrammingPythonMi a Python-modul?

Írta: Alan Shovic, John Shovic

A Python-modulokkal kapcsolatos összes hoopla esetében egy modul valójában egy nagyon egyszerű dolog. Valójában a Python modul csak egy .py kiterjesztésű fájl, amely Python kódot tartalmaz. Ez az. Tehát minden alkalommal, amikor Python-kódot ír, és egy .py fájlba menti, alapvetően létrehozott egy modult.

Ez nem azt jelenti, hogy ezt a kódot mindig modulként kell használni. Ez természetesen önálló alkalmazásként kezelhető. De ha saját Python modult szeretne létrehozni, csak olyan kóddal, amelyre gyakran szüksége van a saját munkájában, akkor ezt mindenképpen megteheti.

a Python modulok programozása

A Python modul szintén csak egy .py fájlnévkiterjesztésű fájl. A modul neve megegyezik a fájlnévvel (.py nélkül). Mint minden .py fájl, a modul Python kódot is tartalmaz. Működő példaként tegyük fel, hogy három funkcióra van szüksége a dátum és a pénznem formázásának egyszerűsítésére. Az egyes funkciókhoz bármilyen nevet megadhat. Működő példánkban ezt a három nevet fogjuk használni:

  • to_date (any_str): Segítségével bármilyen karakterlánc (any_str) dátumot átadhat hh / nn / nn vagy hh / nn / éééé formátumban, és visszatér egy Python datetime.date-t, amelyet felhasználhat a dátum számításához. mdy (any_date): Engedélyezheti a Python dátumának vagy a naptári időnek a beadását, és visszaad egy hh / nn / éééé formátumú karakterlánc dátumot a képernyőn való megjelenítéshez. to_curr (any_num, len): Bármely Python float vagy egész számot átadhat, és egy karakterláncot ad vissza egy vezető dollárjelmel, vesszőkkel ezer helyen, és két számjegytel a fillérekért. A len hosszúság esetén választható szám. Ha rendelkezésre áll, a visszatérési érték balra lesz kitöltve, szóközökkel, hogy megfeleljen a megadott hosszúságnak

Tehát itt van az összes kód ehhez:

# Egyedi funkciókat tartalmaz a dátumokhoz és a pénznemértékekhez.
dátum importálása dt-ként
def to_date (any_str):
"Hő / hh / nn vagy hh / nn / héj karakterlánc konvertálása datetime.date értékre, vagy ha érvénytelen dátum," Nincs ".
próbáld ki:
ha len (any_str) == 10:
the_date = dt.datetime.strptime (any_str, '% m /% d /% Y'). date ()
más:
the_date = dt.datetime.strptime (any_str, '% m /% d /% y') dátum ()
kivéve (ValueError, TypeError):
the_date = Nincs
vissza a_date
def mdy (any_date):
"" "Karakterlánc dátumot ad vissza hh / nn / éééé formátumban. Python dátum megadása vagy karakterlánc dátum hh / nn / éééé formátumban" ""
if type (any_date) == str:
any_date = to_date (anydate)
# Ügyeljen arra, hogy továbbítsa a dátumot
ha elengedhetetlen (any_date, dt.date):
s_date = f "{any_date: '% m /% d /% Y'}"
más:
s_date = "Érvénytelen dátum"
return s_date
def to_curr (anynum, len = 0):
"" Egy számot karakterláncként ad vissza, $ és vesszővel. A hossz opcionális "" "
s = "érvénytelen összeg"
próbáld ki:
x = úszó (anynum)
kivéve ValueError:
x = Nincs
ha állandó (x, úszó):
s = '$' + f "{x:,. 2f}"
ha len> 0:
s = s.rjust (LEN)
vissza s

Ugyanazt a fájlt saját maga is létrehozhatja, és elnevezheti myfunctions.py, ha követni szeretné. Vegye figyelembe, hogy a fájl csak funkciókat tartalmaz. Tehát ha futtatja, akkor semmit sem fog tenni a képernyőn, mert nincs benne kód, amely felhívná ezeket a funkciókat.

Ha ezeket a funkciókat bármilyen Python alkalmazásban vagy programban használni szeretné, először ellenőrizze, hogy a myfunc.py fájlt ugyanabba a mappába másolja-e, mint a többi Python kódot, amelyet ír. Ezután, amikor új oldalt hoz létre, importálhatja a myfunc-ot modulként, akárcsak más, valaki által létrehozott modult. Csak használja

import myfunc

A modul nevét minden olyan funkció elõtt fel kell használni, amelyet az adott modulból hív. Tehát ha azt akarja, hogy a kód kissé olvashatóbb legyen, akkor ezt használhatja:

importálja a myfunc-ot, mint az én-m

Ezzel nyitó sorként bármilyen funkcióra hivatkozhat az egyedi Python modulban, az én-val. mint előtag. Például a my.to_date () a to_date funkció meghívásához. Itt található egy oldal, amely a modult importálja, majd a szintaxis használatával kipróbálja mindhárom funkciót:

# Importálja az összes kódot a myfunc.py fájlból, mint az én.
importálja a myfunc-ot, mint az én-m
# Dátumokra van szükség ebben a kódban
datetime import datetime as dt
# Néhány egyszerű teszt adat.
string_date = "2019/12/31"
# Konvertálja a karakterlánc dátumát a datetime.date fájlba
print (my.to_date (string_date))
ma = mai nap ()
# A mai dátum megjelenítése hh / nn / éééé formátumban.
print (my.mdy (ma))
dollar_amt = 12345.678
# Mutasd ezt a nagy számot valuta formátumban.
print (my.to_curr (dollar_amt))

Az előtagot is kihagyhatja, ha név szerint importál tételeket. Ebben az esetben ez azt jelenti, hogy a to_date (), mdy () és to_curr () hívhatja a my használata nélkül. előtagot. Az első sornak a következőnek kell lennie

from myfunc import to_date, mdy, to_curr

A kód többi része ugyanaz lenne, mint az előző példában, kivéve, ha elhagyhatja a my-t. előtagok a következő kódhoz hasonlóan:

# Importálja az összes kódot a myfunc.py névből.
from myfunc import to_date, mdy, to_curr
# Dátumokra van szükség ebben a kódban
datetime import datetime as dt
# Néhány egyszerű teszt adat.
string_date = "2019/12/31"
# Konvertálja a karakterlánc dátumát a datetime.date fájlba
print (TO_DATE (string_date))
ma = mai nap ()
# A mai dátum megjelenítése hh / nn / éééé formátumban.
print (mdy (ma))
dollar_amt = 12345.678
# Mutasd ezt a nagy számot valuta formátumban.
print (to_curr (dollar_amt))

Nézze meg ezeket a 10 csodálatos Python programozási forrást további információkért.

Lásd még

A dízelmotorok előnyei és hátrányaiHogyan kell indítani a Car-ot, hogyan lehet eldönteni, hogy szüksége van-e a járműhöz. Hogyan kell a katalitikus átalakítókat elhárítani? Hogyan kell gyakran cserélni az olajat? Hogyan lehet ellenőrizni a jármű olajszintjét? Hogyan kell öblíteni a jármű hűtőrendszerét? MotorHOGYAN cserélje ki a gumiabroncsotHogyan szerelje be a gyújtógyertyátHogyan távolítsa el a régi gyújtógyertyákatHogyan ellenőrizheti a fékvezetékeketHogyan ellenőrizheti a féktárcsákatHogyan lehet ellenőrizni a tárcsafékeketHogyan lehet megváltoztatni a fékfolyadékotÁltalános Fitbit hibaelhárítási technikákiPhone Dummies csalógéphezStatisztika és hisztogramokA DevOpsWhy DevOps ügyekhez tartozó legjobb felhőalapú szolgáltató, szolgáltatások és eszközök kiválasztása: 11 Wav DevOps az Ön szervezetének előnyeiMinél több az Ön Cloud eszközeiről: A DevOps automatizálása a CloudTips alkalmazásban a DevOps mérnöki teljesítményének javítása érdekébenHow formálja DevOps csapatait a szervezetedben, DevOps folyamatokra lépés: Vonaltól áramkörtől Interjúinterjúrás technikák a DevOps csapat felépítéséhez: Megfelelő műszaki készségek megszerzéseFolyamatos integráció és folyamatos kézbesítés: A CI / CDTop 10 DevOps buktatóinak megvalósítása és előnyei: Miért van a szoftverprojektek sikertelensége? Mi a DevOps? DevOps Dummies számára Cheat SheetBase Transfer Price on Teljes költséginformáció a névjegyek megtalálásáról az Instagramon. A legjobb felhőalapú szolgáltató, szolgáltatások és eszközök kiválasztása a DevOps-hez