Ištrauka iš python studijų vadovo įrašui.
Klientas gali vykdyti importo arba iš sakinį. Jei modulis neįkeltas, šie teiginiai ieškos, kompiliuos ir vykdys modulio failo programą. Pagrindinis skirtumas yra tas, kad importas nuskaito visą modulį, todėl jis turi būti apibrėžtas prieš skaitant jo kintamojo pavadinimą; iš gaus (arba nukopijuos) modulio kintamųjų pavadinimus.
importas daro kintamojo pavadinimą nurodantį visą modulio objektą, todėl modulio ypatybės turi būti gautos pagal modulio pavadinimą (pvz., modulis1.spausdintuvas). ir iš nukopijuos kintamojo pavadinimą į kitą aprėptį, todėl galės naudoti nukopijuotą kintamojo pavadinimą tiesiai scenarijuje, nepereidamas per modulį (pvz., spausdintuvą).
iš pareiškimo turi potencialą sulaužyti vardų erdves. Jei importuojate kintamuosius naudodami nuo, o tie kintamieji dubliuojasi su esamais kintamaisiais aprėptyje, kintamieji bus tyliai perrašyti. Tai nėra problema naudojant importo sakinius, nes jo turinys turi būti gautas pagal modulio pavadinimą. Tačiau naudojant iš tai nėra didelė problema praktikoje, jei tik suprantate ir tikitės, kad tai įvyks, ypač jei aiškiai išvardijate importo kintamųjų pavadinimus (pvz., iš modulio importo x, y, z).
Kita vertus, kai naudojamas su perkrovimo iškvietimu, sakinys iš turi rimtą problemą, nes importuotas kintamojo pavadinimas gali reikšti ankstesnę objekto versiją. Be to, forma iš modulio importo * iš tiesų gali sulaužyti vardų sritį ir padaryti kintamųjų pavadinimus sunkiai suprantamus, ypač importuojant daugiau nei vieną failą.
Pragmatiškesnis pasiūlymas yra tas, kad paprasti moduliai paprastai naudoja importą, o ne iš. Dauguma sakinių naudojami norimiems kintamiesiems aiškiai išvardyti, o forma iš * naudojama tik vieną kartą viename faile. Tokiu būdu bet koks neapibrėžtas kintamojo pavadinimas gali būti laikomas egzistuojančiu modulyje, nurodytame iš *. Jūs tikrai turite naudoti importą, kai turite naudoti tą patį kintamojo pavadinimo kintamąjį, apibrėžtą dviejuose skirtinguose moduliuose, tokiu atveju negalite naudoti nuo.
Aš daug kalbėjau, nežinau, ką pasakyti, pakalbėkime apie tai trumpai.
- import Modulis # Įvesti modulius
- iš Modulio importas Kita # Įveskite klases, funkcijas ar kintamuosius modulyje
- iš modulio importo * # Pristatykite visus "viešuosius" narius modulyje
Paprastais žodžiais:
Klasės #把整个一班的学生引入了进来 importavimas
iš grupės importo Xiao Wang #只把一般的小王引入了进来
Pavyzdžiui:
Laiko paketas yra pavyzdys, o šie du rašymo būdai yra vienodi, kaip nurodyta toliau:
|