„Python“

„Python“ tikrinimo modulis

„Python“ tikrinimo modulis

Apžvalga

Kada nors susimąstėte, kaip puiku būtų turėti galią iš tikrųjų gauti kito „Python“ modulio šaltinio kodą savo programoje? Tai atvers idėjas ir duris daugybei galimybių, pavyzdžiui, apdoroti modulio šaltinio kodą, gauti jo instrukciją, automatiškai sukurti kodo dalies dokumentaciją. Leiskite man pasakyti, kad tai 100% įmanoma naudojant „Python“ apžiūrėti modulis.

„Python“ tikrinimo modulis

„Python“ apžiūrėti modulis leidžia mums patikrinti vykdomos programos objektus, gauti modulio šaltinio kodą, gauti su tuo moduliu susietą docstring, perskaityti Python funkcijos funkcijos parašą ir daug daugiau. Tokiu būdu mes galime sukurti projektus, kurie sukuria tiesioginius kodų dokumentus mūsų pačių projektams. Tai reiškia, kad mes turime pateikti tik reikiamus komentarus apie savo „Python“ kodą ir likusią darbo dalį galime palikti pačiam „Python“, kad jis mums parengtų dokumentus.

Naudojant kodo pavyzdį

Norėdami suprasti, kaip „Python“ apžiūrėti modulis veikia, mes naudosime vieną iš savo pavyzdinių kodų apibrėžimų „Python“, kurie tik parodo paveldėjimą „Python“ ir kaip gaminami objektai. Pažvelkime į pavyzdinį modulį, kurį naudosime likusioje mokymo dalyje, čia:

def module_level_function (arg1, arg2 = 'numatytasis', * args):
"" "Aš esu modulio lygio funkcija."" "
vietinis_var = arg1 * 2
grįžti local_var
klasė Asmuo (objektas):
"" "Asmens klasės apibrėžimas."" "
def __init __ (savęs, vardo):
savarankiškai.vardas = vardas
def get_name (savarankiškai):
"Grąžina egzemplioriaus pavadinimą."
grąžinti save.vardas
person_obj = Asmuo („pavyzdys_priežiūra“)
klasės mokinys (asmuo):
"" "Tai Studentų klasė, Asmens klasės vaikas.
"" "
# Šis metodas nėra Asmens klasės dalis.
def do_something_else (savęs):
"" "Čia galima padaryti viską."" "
def get_name (savarankiškai):
„Nepaiso versijos iš Asmens klasės“
grįžti 'Studentas (' + sav.vardas + ')'

Apibrėžėme pavyzdinį modulį, kad galėtume pradėti iš jo išskleisti šaltinio kodą ir kitus jo komponentus vėlesniuose rašomuose pavyzdžiuose. Pradėkime.

Tikrinamasis modulis

Aukščiau pateiktas „Python“ modulis išsaugomas faile, vadinamame linuxhint.py tame pačiame kataloge, kuriame sukursime naujus „Python“ scenarijus. Mes galime patikrinti „Python“ modulį, pirmiausia atlikdami jo importą. Šis importo pareiškimas bus pateiktas visuose scenarijuose, kuriuos rašome ir vėlesniuose skyriuose. Štai pavyzdinė programa, su kuria tikriname savo modulį:

importo tikrinimas
importuoti linuxhint
dėl vardo, duomenų tikrinant.getmembers (linuxhint):
jei vardas.prasideda su('__'):
Tęsti
spausdinti (': !r '.formatas (vardas, duomenys))

Štai ką mes grąžiname naudodami šią komandą:

„Python“ tikrinimo modulis


Išvestyje pateikiama išsami informacija apie tai, kiek klasių, funkcijų ir objektų yra šiame modulyje, kai paleidžiamas scenarijus.

Klasių tikrinimas modulyje

Aukščiau pateiktame pavyzdyje pateikėme visas modulio detales vienu metu. jei modulyje norime gauti tik su klasėmis susijusią informaciją, galime gauti tą patį kaip:

importo tikrinimas
importuoti linuxhint
raktas, duomenys tikrinami.gauti narius (linuxhint, apžiūrėti.isclass):
spausdinti (': !r '.formatas (raktas, duomenys))

Pažiūrėkime šios komandos išvestį:

„Python“ tikrinimo modulio klasė


Išvestis yra visiškai ta pati, tik šį kartą į konsolę buvo atspausdinti tik klasės apibrėžimai.

Tikrinimo metodai klasėje

Metodai yra tas, kuris apibrėžia klasės elgesį OOP ir pateikia informaciją apie tai, kaip bus modifikuojamas objektų elgesys, kai jiems bus reikalingi metodai. Dėl šios priežasties svarbu dokumentuoti visus klasėje ar modulyje egzistuojančius metodus. Mes galime gauti informacijos, susijusios su tokiu metodu:

importo tikrinimas
iš pprinto importo
importuoti linuxhint
pprint (tikrinti.getmembers (linuxhint.Asmuo, apžiūrėk.funkcija))

Štai ką mes grąžiname naudodami šią komandą:

Klasės metodo tikrinimas


Išvestyje tik parodomas kiekvieno esamo metodo metodo apibrėžimas.

Klasės objektų apžiūra

Kai domitės, kiek vietos užimta, kai vykdome „Python“ scenarijų, svarbu žinoti, kiek klasės objektų yra užregistruoti klasėje programoje. Norėdami tai sužinoti, modulyje taip pat galime gauti informacijos apie klasės objektus:

importo tikrinimas
iš pprinto importo
importuoti linuxhint
asmuo = linuxhint.Asmuo (vardas = 'inspect_getmembers')
pprint (tikrinti.gauti narius (asmuo, apžiūrėti.metodas))

Pažiūrėkime šios komandos išvestį:

Klasės objektų tikrinimas


Taip pat atsispausdinamas atminties adresas, kuriame gyvena šis objektas vykdant šią programą.

Klasės „Docstring“ tikrinimas

Modulio instrukcija yra ta dalis, kuri iš tikrųjų informuoja vartotoją ar kūrėją, kas yra šis modulis ir kokias funkcijas jis teikia. Su patikrinimo moduliu galime gauti viso modulio dokstringą, kad galėtume jį geriau dokumentuoti. Pažiūrėkime, kaip galime išskleisti kurso instrukcijas:

importo tikrinimas
importuoti linuxhint
spausdinti ('Asmuo.__doc__: ')
spausdinti (linuxhint.Asmuo.__doc__)
spausdinti ()
spausdinti ('getdoc (Asmuo):')
spausdinti (apžiūrėti.getdoc (linuxhint.Asmuo))

Štai ką mes grąžiname naudodami šią komandą:

Dokstringo gavimas pamokai

Klasės šaltinio tikrinimas

Galiausiai galime pamatyti, kaip galime išgauti visą klasės šaltinio kodą ir „Python“ programoje. Tai yra svarbi funkcija ir tai padeda mums sukurti „Python“ modulio dokumentavimo įrankius. Pažiūrėkime, koks yra pavyzdys:

importo tikrinimas
importuoti linuxhint
spausdinti (apžiūrėti.šaltinis (linuxhint.Studentas))

Štai ką mes grąžiname naudodami šią komandą:

Klasės šaltinio kodo gavimas

Metodo šaltinio tikrinimas

Lygiai taip pat, kaip išskyrėme klasės šaltinio kodą, dabar išgausime metodo šaltinio kodą savo „Python“ programoje:

importo tikrinimas
importuoti linuxhint
spausdinti (apžiūrėti.šaltinis (linuxhint.Studentas.gauti_pavadinimas))

Štai ką mes grąžiname naudodami šią komandą:

Metodo šaltinio gavimas klasėje

Tikrinimo metodo parašas

Metodo parašas suteikia gilią įžvalgą apie tai, ką daro metodas ir kokio indėlio reikia. Tai suteikia mums galimybę dokumentuoti metodą geriau, nes metodo dokumentacija yra neišsami, nežinant, kokio indėlio reikia. Štai kaip galime išgauti informaciją, susijusią su metodo parašu:

importo tikrinimas
importuoti linuxhint
spausdinti (apžiūrėti.parašas (linuxhint.modulio_lygio_funkcija))

Štai ką mes grąžiname naudodami šią komandą:

Metodo parašo gavimas

Išvada

Šioje pamokoje mes apžvelgėme, kaip galime naudoti „Python inspect“ modulį, kad galėtume peržiūrėti šaltinio kodą ir daugelį kitų „Python“ programos vidinių funkcijų. Skaitykite daugiau „Python“ pagrįstų įrašų čia.

Peržiūrėkite pelės mygtukus skirtingai programinei įrangai naudodami „X-Mouse Button Control“
Galbūt jums reikia įrankio, kuris galėtų pakeisti jūsų pelės valdymą kiekvienoje jūsų naudojamoje programoje. Tokiu atveju galite išbandyti programą, ...
„Microsoft Sculpt Touch“ belaidžio pelės apžvalga
Neseniai skaičiau apie „Microsoft Sculpt Touch“ belaidę pelę ir nusprendė ją nusipirkti. Kurį laiką naudojęs, nusprendžiau pasidalinti savo patirtimi....
„AppyMouse“ ekrano „Trackpad“ ir pelės žymeklis, skirtas „Windows“ tabletėms
Planšetinių kompiuterių vartotojai dažnai praleidžia pelės žymeklį, ypač kai įprasta naudoti nešiojamus kompiuterius. Jutiklinio ekrano išmanieji tele...