„Python“ moduliai: išmokite kurti ir importuoti pasirinktinius ir integruotus modulius

Šiame straipsnyje jūs išmoksite kurti ir importuoti tinkintus modulius „Python“. Be to, rasite įvairių būdų, kaip importuoti ir naudoti pasirinktinius ir įmontuotus modulius „Python“.

Vaizdo įrašas: „Python“ moduliai

Kas yra „Python“ moduliai?

Moduliai nurodo failą, kuriame yra „Python“ sakiniai ir apibrėžimai.

Failas, kuriame yra „Python“ kodas, pavyzdžiui: example.pyvadinamas modulis, kurio modulio pavadinimas būtų example.

Mes naudojame modulius, kad suskirstytume dideles programas į mažus valdomus ir organizuotus failus. Be to, moduliai suteikia galimybę pakartotinai naudoti kodą.

Mes galime apibrėžti dažniausiai naudojamas funkcijas modulyje ir jį importuoti, užuot nukopijavę jų apibrėžimus į skirtingas programas.

Sukurkime modulį. Įveskite šiuos duomenis ir išsaugokite juos kaip example.py.

 # Python Module example def add(a, b): """This program adds two numbers and return the result""" result = a + b return result

Čia mes apibrėžėme funkciją add()modulio pavadinimu example. Funkcija užima du skaičius ir grąžina jų sumą.

Kaip importuoti modulius į „Python“?

Apibrėžtis modulio viduje galime importuoti į kitą modulį arba interaktyvų vertėją „Python“.

Tam naudojame importraktinį žodį. Norėdami importuoti anksčiau apibrėžtą modulį example, „Python“ eilutėje įveskite šiuos duomenis.

 >>> import example

Tai neimportuoja funkcijų, apibrėžtų exampletiesiogiai dabartinėje simbolių lentelėje, pavadinimų. Importuoja tik exampleten modulio pavadinimą .

Naudodami modulio pavadinimą funkciją galime pasiekti naudodami taškų .operatorių. Pavyzdžiui:

 >>> example.add(4,5.5) 9.5

„Python“ turi daugybę standartinių modulių. Galite peržiūrėti visą „Python“ standartinių modulių sąrašą ir jų naudojimo atvejus. Šie failai yra Lib kataloge, esančiame vietoje, kur įdiegėte „Python“.

Standartinius modulius galima importuoti taip pat, kaip ir mūsų vartotojo nustatytus modulius.

Yra įvairūs modulių importavimo būdai. Jie išvardyti žemiau …

„Python“ importo pareiškimas

Mes galime importuoti modulį naudodami importteiginį ir pasiekti jame esančius apibrėžimus naudodami taškų operatorių, kaip aprašyta aukščiau. Štai pavyzdys.

 # import statement example # to import standard module math import math print("The value of pi is", math.pi)

Kai paleisite programą, išvestis bus:

 Pi vertė yra 3,141592653589793

Importuoti pervadinant

Mes galime importuoti modulį pervadindami jį taip:

 # import module by renaming it import math as m print("The value of pi is", m.pi)

Pervadinome mathmodulį kaip m. Kai kuriais atvejais tai gali sutaupyti laiko, kai įvedame tekstą.

Atminkite, kad pavadinimas mathnėra pripažintas mūsų taikymo sritimi. Taigi math.piyra neteisingas ir m.piyra teisingas įgyvendinimas.

„Python from…“ importo ataskaita

Mes galime importuoti konkrečius pavadinimus iš modulio, neimportuodami viso modulio. Štai pavyzdys.

 # import only pi from math module from math import pi print("The value of pi is", pi)

pimathmodulio importavome tik atributą .

Tokiais atvejais nenaudojame taško operatoriaus. Taip pat galime importuoti kelis atributus taip:

 >>> from math import pi, e >>> pi 3.141592653589793 >>> e 2.718281828459045

Importuoti visus pavadinimus

Mes galime importuoti visus pavadinimus (apibrėžimus) iš modulio naudodami šį konstrukciją:

 # import all names from the standard module math from math import * print("The value of pi is", pi)

Čia mes importavome visus matematikos modulio apibrėžimus. Tai apima visus vardus, matomus mūsų taikymo srityje, išskyrus tuos, kurie prasideda pabraukimu (privatūs apibrėžimai).

Visko importavimas su žvaigždute (*) nėra gera programavimo praktika. Tai gali sukelti identifikatoriaus apibrėžčių pasikartojimą. Tai taip pat trukdo mūsų kodo aiškumui.

„Python“ modulio paieškos kelias

Importuodamas modulį „Python“ žiūri į kelias vietas. Vertėjas pirmiausia ieško įmontuoto modulio. Tada (jei nerastas įmontuotas modulis), „Python“ ieško katalogų, apibrėžtų, sąraše sys.path. Ieškoma šia tvarka.

  • Dabartinis katalogas.
  • PYTHONPATH (aplinkos kintamasis su katalogų sąrašu).
  • Nuo diegimo numatytasis numatytasis katalogas.
 >>> importuokite sys >>> sys.path ('', 'C: \ Python33 \ Lib \ idlelib', 'C: \ Windows \ system32 \ python33.zip', 'C: \ „Python33 \ DLL“, „C: Python33 lib“, „C: Python33“, „C: Python33 lib“ svetainių paketai “)

We can add and modify this list to add our own path.

Reloading a module

The Python interpreter imports a module only once during a session. This makes things more efficient. Here is an example to show how this works.

Suppose we have the following code in a module named my_module.

 # This module shows the effect of # multiple imports and reload print("This code got executed")

Now we see the effect of multiple imports.

 >>> import my_module This code got executed >>> import my_module >>> import my_module

We can see that our code got executed only once. This goes to say that our module was imported only once.

Now if our module changed during the course of the program, we would have to reload it.One way to do this is to restart the interpreter. But this does not help much.

Python provides a more efficient way of doing this. We can use the reload() function inside the imp module to reload a module. We can do it in the following ways:

 >>> import imp >>> import my_module This code got executed >>> import my_module >>> imp.reload(my_module) This code got executed 

The dir() built-in function

Mes galime naudoti dir()funkciją norėdami sužinoti pavadinimus, kurie yra apibrėžti modulio viduje.

Pavyzdžiui, add()modulyje apibrėžėme funkciją example, kurią turėjome pradžioje.

Mes galime naudoti direxamplemodulio tokiu būdu:

 >>> dir(example) ('__builtins__', '__cached__', '__doc__', '__file__', '__initializing__', '__loader__', '__name__', '__package__', 'add')

Čia galime pamatyti surūšiuotą vardų sąrašą (kartu su add). Visi kiti pavadinimai, prasidedantys pabraukimu, yra numatytieji „Python“ atributai, susieti su moduliu (nenustatyti vartotojo).

Pvz., __name__Atribute yra modulio pavadinimas.

 >>> import example >>> example.__name__ 'example'

Visus vardus, apibrėžtus mūsų dabartinėje vardų srityje, galima sužinoti naudojant dir()funkciją be jokių argumentų.

 >>> a = 1 >>> b = "hello" >>> import math >>> dir() ('__builtins__', '__doc__', '__name__', 'a', 'b', 'math', 'pyscripter')

Įdomios straipsniai...