1. ProgramovaniePythonČo je to modul Python?

Autor: Alan Shovic, John Shovic

Pre všetky správy o moduloch Python je modul skutočne jednoduchá vec. V skutočnosti je modul Python iba súbor s príponou .py, ktorý obsahuje kód Python. To je všetko. Takže kedykoľvek píšete Python kód a uložíte ho do súboru .py, vytvorili ste v podstate modul.

To neznamená, že tento kód musíte vždy používať ako modul. Určite to možno považovať za samostatnú aplikáciu. Ale ak by ste chceli vytvoriť svoj vlastný modul Python, s iba kódom, ktorý často potrebujete vo svojej vlastnej práci, určite by ste tak mohli urobiť.

programovanie modulov Python

Modul Python je tiež iba súbor s príponou .py. Názov modulu je rovnaký ako názov súboru (bez súboru .py). Tak ako každý súbor .py, aj modul obsahuje kód Python. Ako príklad môžeme uviesť, že chcete mať tri funkcie na zjednodušenie formátovania dátumov a hodnôt mien. Pre každú funkciu si môžete vytvoriť ľubovoľný názov. Pre náš pracovný príklad použijeme tieto tri mená:

  • to_date (any_str): Umožní vám prejsť v ľubovoľnom dátovom reťazci (any_str) vo formáte mm / dd / rr alebo mm / dd / rrrr a pošle späť údajový čas Python, ktorý môžete použiť na výpočty dátumu. mdy (any_date): Umožní vám prejsť v ľubovoľnom dátume alebo dátovom čase Python a vráti dátum zobrazenia reťazca naformátovaný v mm / dd / rrrr na zobrazenie na obrazovke. to_curr (any_num, len): Umožní vám prejsť akýmkoľvek číslom float alebo celé číslo Pythonu a vráti reťazec so znakom dolára, čiarkami na tisíc miestach a dvoma číslicami za haliere. Len je voliteľné číslo pre dĺžku. Ak je k dispozícii, vrátená hodnota bude vľavo vyplnená medzerami, ktoré zodpovedajú zadanej dĺžke

Takže tu je celý kód:

# Obsahuje vlastné funkcie pre dáta a hodnoty mien.
import datetime ako dt
def to_date (any_str):
Preveďte reťazec mm / dd / rr alebo mm / dd / rrrr na datetime.date alebo Žiadne, ak je neplatný dátum. "" "
vyskúšajte nasledujúci postup:
ak len (any_str) == 10:
the_date = dt.datetime.strptime (any_str, '% m /% d /% Y'). dátum ()
else:
the_date = dt.datetime.strptime (any_str, '% m /% d /% y'). dátum ()
okrem (ValueError, TypeError):
the_date = Žiadne
vrátiť the_date
def mdy (any_date):
"" "Vráti dátum reťazca vo formáte mm / dd / rrrr. Pass in Python date alebo reťazec vo formáte mm / dd / rrrr" ""
ak napíš (any_date) == str:
any_date = to_date (anydate)
# Uistite sa, že je poslaný ďalej
ak je inštancia (any_date, dt.date):
s_date = f "{any_date: '% m /% d /% Y'}"
else:
s_date = "Neplatný dátum"
návrat s_date
def to_curr (anynum, len = 0):
"" "Vráti číslo ako reťazec s $ a čiarkami. Dĺžka je voliteľná." ""
s = "Neplatná čiastka"
vyskúšajte nasledujúci postup:
x = plavák (anynum)
okrem ValueError:
x = Žiadne
ak je inštancia (x, float):
s = '$' + f "{x:,. 2f}"
ak len> 0:
s = s.rjust (ľan)
návrat s

Rovnaký súbor si môžete vytvoriť sami a pomenovať ho myfunctions.py, ak chcete pokračovať ďalej. Všimnite si, že súbor obsahuje iba funkcie. Ak ho teda spustíte, nebude na obrazovke nič robiť, pretože v ňom nie je kód, ktorý by vyvolal niektorú z týchto funkcií.

Ak chcete používať tieto funkcie v ľubovoľnej Pythonovej aplikácii alebo programe, ktorý píšete, najprv skopírujte tento súbor myfunc.py do rovnakého priečinka ako zvyšok napísaného kódu Python. Keď potom vytvoríte novú stránku, môžete importovať myfunc ako modul rovnako ako akýkoľvek iný modul vytvorený niekým iným. Stačí použiť

importovať myfunc

Pred niektorou z funkcií, ktoré zavoláte z tohto modulu, budete musieť použiť názov modulu. Ak teda chcete urobiť kód zrozumiteľnejším, môžete ho namiesto toho použiť:

import myfunc ako môj

Ako úvodná línia môžete pomocou my. Odkazovať na ľubovoľnú funkciu vo vašom vlastnom module Python. ako predpona. Napríklad my.to_date () na vyvolanie funkcie to_date. Tu je stránka, ktorá modul importuje a potom otestuje všetky tri funkcie pomocou tejto syntaxe:

"Importovať všetok kód z myfunc.py ako môj.
import myfunc ako môj
# Potrebné dátumy v tomto kóde
od importu datetime datetime ako dt
# Niekoľko jednoduchých testovacích údajov.
string_date = "12/31/2019"
# Premeniť dátum reťazca na datetime.date
print (my.to_date (string_date))
dnes = dt.today ()
# Zobraziť dnešný dátum vo formáte mm / dd / rrrr.
print (my.mdy (dnes))
dollar_amt = 12345.678
# Zobraziť toto veľké číslo vo formáte meny.
print (my.to_curr (dollar_amt))

Môžete tiež preskočiť pomocou predpony, ak importujete položky podľa názvu. V tomto prípade to znamená, že môžete volať to_date () a mdy () a to_curr () bez použitia my. prefix. Prvý riadok kódu by musel byť

z importu myfunc do_date, mdy, do_curr

Zvyšok kódu by bol rovnaký ako v predchádzajúcom príklade, s výnimkou toho, že môžete zanechať môj. predpony ako v nasledujúcom kóde:

# Importovať celý kód z myfunc.py podľa mena.
z importu myfunc do_date, mdy, do_curr
# Potrebné dátumy v tomto kóde
od importu datetime datetime ako dt
# Niekoľko jednoduchých testovacích údajov.
string_date = "12/31/2019"
# Premeniť dátum reťazca na datetime.date
print (TO_DATE (string_date))
dnes = dt.today ()
# Zobraziť dnešný dátum vo formáte mm / dd / rrrr.
print (MDY (dnes))
dollar_amt = 12345.678
# Zobraziť toto veľké číslo vo formáte meny.
print (to_curr (dollar_amt))

Viac informácií nájdete v týchto 10 úžasných programovacích zdrojoch Python.

Pozri tiež

Výhody a nevýhody dieselových motorovAko skočiť Naštartujte autoAk chcete zistiť, či vaše vozidlo potrebuje vyladenieAko vyriešiť problémy s katalyzátorom, ako často vymieňať olej? Ako skontrolovať hladinu oleja vo vašom vozidleAko vypláchnuť chladiaci systém vozidla Ako vyriešiť problém s prehriatím Ako vymeniť pneumatikuAko nainštalovať zapaľovaciu sviečkuAko odstrániť staré zapaľovacie sviečkyAko skontrolovať brzdové čiaryAko skontrolovať kotúčové brzdyAko zmeniť brzdovú kvapalinuVšeobecné techniky riešenia problémov s FitbitiPhone pre Dummies Cheat SheetŠtatistika a histogramyVýber najlepšieho poskytovateľa služieb cloudu, funkcií a nástrojov pre DevOpsPrečo DevOps záleží: 11 spôsobov, ako DevOps prospieva vašej organizáciiVyužite viac vašich cloudových nástrojov: Automatizácia devOps v cloudTipsoch na zlepšenie inžinierskeho výkonu pomocou DevOpsAko tvoriť tímy DevOps vo vašej organizáciiZmena pre vývojové procesy DevOps: Z línie na techniku ​​sledovania obvodu na zostavenie tímu DevOps: Získanie správnych technických zručností Nepretržitá integrácia a nepretržité dodávanie: Implementácia a ťažba z úskalí CI / CDTop 10 DevOps: Prečo vaše softvérové ​​projekty zlyhajúČo je to DevOps? DevOps For Dummies Cheat SheetBase Transfer Price on Plná cenaAko nájsť svoje kontakty na InstagramVýber najlepšieho poskytovateľa cloudových služieb, funkcií a nástrojov pre vývojárov