Python

Modul za pregled Pythona

Modul za pregled Pythona

Pregled

Ste se kdaj vprašali, kako kul bi bilo imeti moč, da dejansko dobite izvorno kodo drugega modula Python v svojem programu? To bo odprlo ideje in vrata številnim priložnostim, kot je obdelava izvorne kode modula, pridobivanje dokumentov, samodejno izdelava dokumentacije za del kode. Naj vam povem, da je to pri Pythonu 100% možno pregledati modul.

Modul za pregled Pythona

Python pregledati modul omogoča pregled predmetov delujočega programa, pridobitev izvorne kode modula, pridobitev docstringa, povezanega s tem modulom, branje podpisa metode funkcije v Pythonu in še veliko več. Na ta način lahko izdelamo projekte, ki za lastne projekte izdelajo dokumentacijo kode v živo. To pomeni, da moramo dati le potrebne pripombe na našo kodo Python, preostanek dela pa lahko prepustimo samemu Pythonu, da nam pripravi dokumentacijo.

Uporaba vzorčne kode

Da bi razumeli, kako Python pregledati modul deluje, uporabili bomo lastno definicijo vzorčne kode v Pythonu, ki samo prikazuje dedovanje v Pythonu in kako nastajajo predmeti. Poglejmo si vzorčni modul, ki ga bomo uporabili v preostalih vajah tukaj:

def module_level_function (arg1, arg2 = 'privzeto', * args):
"" "Sem funkcija na ravni modula."" "
local_var = arg1 * 2
vrni local_var
razred Oseba (objekt):
"" "Opredelitev za razred osebe."" "
def __init __ (jaz, ime):
sebe.ime = ime
def get_name (self):
"Vrne ime primerka."
vrni se.ime
person_obj = Oseba ('sample_instance')
razred Študent (oseba):
"" "To je razred študentov, otrok razreda osebe.
"" "
# Ta metoda ni del razreda Person.
def do_something_else (self):
"" "Tukaj je mogoče storiti vse."" "
def get_name (self):
"Preglasi različico iz razreda osebe"
vrni 'Student (' + self.ime + ')'

Določili smo vzorčni modul, da lahko v nadaljnjih primerih, ki jih pišemo, začnemo iz njega pridobivati ​​izvorno kodo in druge komponente. Začnimo.

Kontrolni modul

Zgornji modul Python je shranjen v datoteki z imenom linuxhint.py v istem imeniku, kjer bomo naredili nove skripte Python. Modul v Pythonu lahko pregledamo tako, da ga najprej uvozimo. Ta izjava o uvozu bo prisotna tudi v vseh skriptih, ki jih pišemo tudi v kasnejših razdelkih. Tu je vzorec programa, s katerim pregledamo naš modul:

uvoz pregledati
uvozi linuxhint
za ime, podatki v pregledu.getmembers (linuxhint):
če ime.začne se z ('__'):
nadaljujte
print (': !r '.format (ime, podatki))

Tukaj dobimo s tem ukazom:

Modul za pregled Pythona


Izhodni podatki nam nudijo podrobnosti o tem, koliko razredov, funkcij in predmetov obstaja v tem modulu, ko se skript zažene.

Pregled predavanj v modulu

Zgornji primer, ki smo ga prikazali, je hkrati predstavil vse podrobnosti modula. če želimo dobiti samo informacije, povezane z razredi v modulu, lahko dobimo enako kot:

uvoz pregledati
uvozi linuxhint
za ključ, podatki v pregledu.getmembers (linuxhint, preglejte.isclass):
print (': !r '.format (ključ, podatki))

Poglejmo izhod za ta ukaz:

Razred modula za preverjanje Pythona


Izhod je popolnoma enak, le da so bili tokrat na konzolo natisnjene samo definicije razredov.

Pregled metod v razredu

Metode so tiste, ki opredelijo vedenje razreda v OOP-jih in zagotavljajo informacije o tem, kako bo spremenjeno vedenje predmetov, ko bodo metode pozvane k njim. Zaradi tega je pomembno dokumentirati vse metode, ki obstajajo v razredu ali modulu. Lahko dobimo informacije, povezane s takšno metodo:

uvoz pregledati
iz pprint uvoz pprint
uvozi linuxhint
odtis (preglejte.getmembers (linuxhint.Oseba, pregledaj.je delovanje))

Tukaj dobimo s tem ukazom:

Pregled metode pouka


Izhod samo prikaže definicijo metode vsake prisotne metode.

Pregled predmetov razreda

Ko natančno preučite, koliko prostora zasede, ko zaženemo skript Python, je pomembno vedeti, koliko predmetov za razred se ustvari za razred v programu. Da bi to vedeli, lahko v modulu dobimo tudi informacije o Predmetih razreda:

uvoz pregledati
iz pprint uvoz pprint
uvozi linuxhint
oseba = linuxhint.Oseba (ime = 'inspect_getmembers')
odtis (preglejte.getmembers (oseba, preglejte.ismethod))

Poglejmo izhod za ta ukaz:

Pregled predmetov pouka


S tem se natisne tudi pomnilniški naslov, na katerem živi ta predmet med izvajanjem tega programa.

Pregledovanje dokumentov v razredu

Docstring modula je del, ki uporabnika ali razvijalca dejansko obvesti, za kaj gre v tem modulu in katere funkcije ponuja. Z modulom za pregled lahko dobimo dokument celotnega modula, da ga bolje dokumentiramo. Poglejmo, kako lahko izvlečemo docstring za razred:

uvoz pregledati
uvozi linuxhint
print ('Oseba.__doc__: ')
tiskanje (linuxhint.Oseba.__doc__)
natisni ()
print ('getdoc (Oseba):')
natisni (pregledaj.getdoc (linuxhint.Oseba))

Tukaj dobimo s tem ukazom:

Pridobivanje dokumentacije za predavanje

Preverjanje vira predavanja

Končno lahko vidimo, kako lahko v programu Python izvlečemo tudi celotno izvorno kodo razreda. To je pomembna lastnost in nam pomaga pri izdelavi orodij za dokumentacijo o modulu Python. Poglejmo primer v akciji:

uvoz pregledati
uvozi linuxhint
natisni (pregledaj.getsource (linuxhint.Študent))

Tukaj dobimo s tem ukazom:

Pridobivanje izvorne kode predavanja

Pregled izvora metode

Tako kot smo izvlekli izvorno kodo razreda, bomo zdaj v našem programu Python izvlekli izvorno kodo metode:

uvoz pregledati
uvozi linuxhint
natisni (pregledaj.getsource (linuxhint.Študent.get_name))

Tukaj dobimo s tem ukazom:

Pridobivanje metode v razredu

Pregled podpisa metode

Podpis metode omogoča globok vpogled v to, kaj metoda počne in kakšen vložek potrebuje. Omogoča nam boljše dokumentiranje metode, ker je dokumentacija metode nepopolna, ne da bi vedeli, kakšen vložek potrebuje. Tukaj je opisano, kako lahko pridobimo informacije, povezane s podpisom metode:

uvoz pregledati
uvozi linuxhint
natisni (pregledaj.podpis (linuxhint.module_level_function))

Tukaj dobimo s tem ukazom:

Pridobivanje podpisa metode

Zaključek

V tej lekciji smo preučili, kako lahko modul za pregled Pythona uporabimo za ogled izvorne kode in številnih drugih notranjih lastnosti programa Python. Preberite več objav na osnovi Pythona tukaj.

Zaslonska sledilna ploščica in kazalec miške AppyMouse za tablične računalnike Windows
Uporabniki tabličnih računalnikov pogosto zgrešijo miškin kazalec, še posebej kadar običajno uporabljajo prenosne računalnike. Pametni telefoni in tab...
Srednji gumb miške ne deluje v sistemu Windows 10
The srednji gumb miške vam pomaga, da se pomikate po dolgih spletnih straneh in zaslonih z veliko podatkov. Če se to ustavi, boste na koncu uporabili ...
Kako spremeniti levi in ​​desni gumb miške na računalniku z operacijskim sistemom Windows 10
Povsem normalno je, da so vse naprave računalniške miške ergonomsko zasnovane za desničarje. Na voljo pa so miške, ki so posebej zasnovane za levičarj...