Acest articol este un articol oglindă al traducerii automate, vă rugăm să faceți clic aici pentru a sări la articolul original.

Vedere: 13872|Răspunde: 1

[Comunicare] Python de la import și import explicat în detaliu

[Copiază linkul]
Postat pe 25.04.2018 11:20:35 | | | |
Fragment din manualul de studiu Python pentru evidență.

Clientul poate executa instrucțiunea import sau from. Dacă modulul nu este încărcat, aceste instrucțiuni vor căuta, compila și executa programul de fișiere al modulului. Principala diferență este că import citește întregul modul, deci trebuie definit înainte ca numele variabilei să poată fi citit; from va obține (sau copia) numele variabilelor specifice modulului.

import face ca un nume de variabilă să se refere la întregul obiect al modulului, astfel încât proprietățile modulului trebuie obținute prin numele modulului (de exemplu, module1.printer). iar from va copia numele variabilei într-un alt scope, astfel încât să poată folosi numele variabilei copiate direct în script fără a trece printr-un modul (de exemplu, o imprimantă).

de la instrucțiune are potențialul de a rupe namespace-urile. Dacă importi variabile folosind from, iar acele variabile sunt duplicate cu variabilele existente în domeniu, variabilele vor fi suprascrise discret. Aceasta nu este o problemă atunci când se folosesc instrucțiuni de import, deoarece conținutul său trebuie obținut prin numele modulului. Totuși, când folosești from, acest lucru nu este o problemă mare în practică, atâta timp cât înțelegi și anticipezi acest lucru, mai ales dacă listezi clar numele variabilelor de import (de exemplu, din importul modulului x, y, z).

Pe de altă parte, când este folosită împreună cu apelul reload, instrucțiunea from are o problemă serioasă, deoarece numele variabilei importate poate face referire la o versiune anterioară a obiectului. Mai mult, formularul din importul modulului * poate într-adevăr să strice spațiul de nume și să facă numele variabilelor dificil de înțeles, mai ales când se importă mai mult de un fișier.

O sugestie mai pragmatică este că modulele simple tind să folosească în general import mai degrabă decât din. Majoritatea instrucțiunilor from sunt folosite pentru a enumera explicit variabilele dorite și sunt limitate la folosirea formularului from * o singură dată pe fișier. Astfel, orice nume nedefinit de variabilă poate fi considerat ca existând în modulul referențiat de la *. Chiar trebuie să folosești import când trebuie să folosești aceeași variabilă nume de variabilă definită în două module diferite, caz în care nu poți folosi from.

Am vorbit mult, nu știu ce să spun, hai să vorbim puțin despre asta.

  • import Modul # Introduc module
  • from Module import Other # Introduce clase, funcții sau variabile în modul
  • din importul modulului * # Introduceți toți membrii "publici" din modul


În termeni simpli:

importă o clasă #把整个一班的学生引入了进来
dintr-un grup de importați Xiao Wang #只把一般的小王引入了进来

De exemplu:

Pachetul de timp este un exemplu, iar următoarele două metode de scriere sunt aceleași, după cum urmează:








Precedent:Cum să folosești o funcție într-un pachet python
Următor:HP Laptop & Desktop Ghost Windows7 32&64 Sea Drive Edition v201801
 Proprietarul| Postat pe 25.04.2018 11:22:51 |
Importul datetime este pentru a introduce întregul pachet datetime, dacă folosești clasa datetime în pachetul datetime, trebuie să adaugi calificarea numelui modulului.



Dacă nu adaugi calificatorul pentru numele modulului, va apărea o eroare: TypeError: obiectul 'module' nu este apelabil \ AttributeError: obiectul 'module' nu are atribut 'acum'



De la importul datetime, datetime este introdus doar în clasa datetime din pachetul datetime, iar nu este nevoie să se adauge calificatori pentru numele modulului atunci când se folosește.



Rezumat: Există două moduri de a importa module în Python: import module și from module import, diferența fiind că primul necesită adăugarea numelui modulului când folosești toate lucrurile importate, în timp ce al doilea nu.

Disclaimer:
Tot software-ul, materialele de programare sau articolele publicate de Code Farmer Network sunt destinate exclusiv scopurilor de învățare și cercetare; Conținutul de mai sus nu va fi folosit în scopuri comerciale sau ilegale, altfel utilizatorii vor suporta toate consecințele. Informațiile de pe acest site provin de pe Internet, iar disputele privind drepturile de autor nu au legătură cu acest site. Trebuie să ștergi complet conținutul de mai sus de pe calculatorul tău în termen de 24 de ore de la descărcare. Dacă îți place programul, te rugăm să susții software-ul autentic, să cumperi înregistrarea și să primești servicii autentice mai bune. Dacă există vreo încălcare, vă rugăm să ne contactați prin e-mail.

Mail To:help@itsvse.com