Απόσπασμα από το εγχειρίδιο μελέτης python για την ιστορία.
Ο πελάτης μπορεί να εκτελέσει την πρόταση εισαγωγής ή από. Εάν η λειτουργική μονάδα δεν έχει φορτωθεί, αυτές οι δηλώσεις θα αναζητήσουν, θα μεταγλωττίσουν και θα εκτελέσουν το πρόγραμμα αρχείων της λειτουργικής μονάδας. Η κύρια διαφορά είναι ότι η εισαγωγή διαβάζει ολόκληρη τη λειτουργική μονάδα, επομένως πρέπει να οριστεί για να μπορέσει να διαβαστεί το όνομα της μεταβλητής της. από θα λάβει (ή θα αντιγράψει) ονόματα μεταβλητών για συγκεκριμένες λειτουργικές μονάδες.
Το import κάνει ένα όνομα μεταβλητής να αναφέρεται σε ολόκληρο το αντικείμενο του module, επομένως οι ιδιότητες του module πρέπει να λαμβάνονται από το όνομα του module (π.χ. module1.printer). και από θα αντιγράψει το όνομα της μεταβλητής σε άλλο εύρος, ώστε να μπορεί να χρησιμοποιήσει το αντιγραμμένο όνομα μεταβλητής απευθείας στο σενάριο χωρίς να περάσει από μια λειτουργική μονάδα (π.χ. εκτυπωτής).
από τη δήλωση έχει τη δυνατότητα να σπάσει τους χώρους ονομάτων. Εάν εισάγετε μεταβλητές χρησιμοποιώντας από, και αυτές οι μεταβλητές τυχαίνει να αντιγράφονται με υπάρχουσες μεταβλητές στο πεδίο εφαρμογής, οι μεταβλητές θα αντικατασταθούν αθόρυβα. Αυτό δεν αποτελεί πρόβλημα όταν χρησιμοποιείτε προτάσεις εισαγωγής, επειδή τα περιεχόμενά τους πρέπει να λαμβάνονται από το όνομα της ενότητας. Ωστόσο, όταν χρησιμοποιείτε από, αυτό δεν είναι μεγάλο πρόβλημα στην πράξη, αρκεί να κατανοείτε και να αναμένετε ότι αυτό θα συμβεί, ειδικά εάν αναφέρετε με σαφήνεια τα ονόματα των μεταβλητών εισαγωγής (π.χ. από την εισαγωγή ενότητας x, y, z).
Από την άλλη, όταν χρησιμοποιείται με την κλήση επαναφόρτωσης, η δήλωση from έχει σοβαρό πρόβλημα, επειδή το όνομα της εισαγόμενης μεταβλητής μπορεί να αναφέρεται σε προηγούμενη έκδοση του αντικειμένου. Επιπλέον, η φόρμα από την εισαγωγή ενότητας * μπορεί πράγματι να σπάσει τον χώρο ονομάτων και να κάνει τα ονόματα των μεταβλητών δυσνόητα, ειδικά κατά την εισαγωγή περισσότερων από ένα αρχείων.
Μια πιο ρεαλιστική πρόταση είναι ότι οι απλές ενότητες τείνουν γενικά να χρησιμοποιούν εισαγωγή και όχι από. Οι περισσότερες από δηλώσεις χρησιμοποιούνται για τη ρητή απαρίθμηση των επιθυμητών μεταβλητών και περιορίζονται στη χρήση της φόρμας από * μόνο μία φορά ανά αρχείο. Με αυτόν τον τρόπο, οποιοδήποτε απροσδιόριστο όνομα μεταβλητής μπορεί να θεωρηθεί ότι υπάρχει στην ενότητα που αναφέρεται από το *. Πρέπει πραγματικά να χρησιμοποιήσετε την εισαγωγή όταν πρέπει να χρησιμοποιήσετε την ίδια μεταβλητή ονόματος μεταβλητής που ορίζεται σε δύο διαφορετικές ενότητες, οπότε δεν μπορείτε να χρησιμοποιήσετε από.
Μίλησα πολύ, δεν ξέρω τι να πω, ας το συζητήσουμε εν συντομία.
- εισαγωγή Module # Εισαγωγή modules
- από την εισαγωγή ενότητας Άλλο # Εισαγάγετε, συναρτήσεις ή μεταβλητές στην ενότητα
- από την εισαγωγή της ενότητας * # Παρουσιάστε όλα τα «δημόσια» μέλη στην ενότητα
Με απλούς όρους:
Εισαγωγή κλάσης #把整个一班的学生引入了进来
από ομάδα εισαγωγής Xiao Wang #只把一般的小王引入了进来
Για παράδειγμα:
Το πακέτο χρόνου είναι ένα παράδειγμα και οι ακόλουθες δύο μέθοδοι γραφής είναι οι ίδιες, ως εξής:
|