Εισαγωγή στην εισαγωγή (import) στην Python
Στην Python μπορούμε να εισάγουμε όχι μόνο
πρότυπες μονάδες (modules), όπως για παράδειγμα την re
(για εργασία με κανονικές εκφράσεις), αλλά και να δημιουργούμε
τις δικές μας νέες μονάδες από αρχεία χρήστη.
Ας υποθέσουμε ότι έχουμε ένα αρχείο lib.py, το οποίο
βρίσκεται στον ίδιο κατάλογο με το αρχείο εργασίας μας
test.py:
- lib.py
- test.py
Ας δημιουργήσουμε σε αυτό μια συνάρτηση που θα εκτυπώνει στην κονσόλα ένα θαυμαστικό σημείο:
def func():
print('!')
Τώρα ας πάμε στο αρχείο test.py και
να εισάγουμε σε αυτό αυτή τη συνάρτηση. Στην επάνω
γραμμή του αρχείου γράφουμε την εντολή import,
μετά από την οποία υποδεικνύουμε το όνομα του απαιτούμενου αρχείου
(module). Εφόσον και τα δύο αρχεία βρίσκονται στον ίδιο
κατάλογο, μετά το import αρκεί
να υποδεικνύεται μόνο το όνομα της μονάδας χωρίς την επέκτασή της:
import lib
Στη συνέχεια καλούμε την εισαγμένη συνάρτηση. Για
αυτό, μετά το όνομα της μονάδας, μέσω μιας τελείας υποδεικνύουμε
το όνομα της συνάρτησης func:
lib.func()
Αποτέλεσμα εκτέλεσης του κώδικα:
'!'
Κατά την εισαγωγή μιας μονάδας, στο αρχείο εργασίας γίνονται διαθέσιμες όχι μόνο οι συναρτήσεις, αλλά και όλο το υπόλοιπο περιεχόμενό της, για παράδειγμα, μεταβλητές.
Μετά την εκτέλεση της εισαγωγής της μονάδας, στον κατάλογο εργασίας
εμφανίστηκε αυτόματα ένας φάκελος συστήματος __pycache__. Παρατηρήστε
ότι τα ονόματα όλων των αρχείων συστήματος και
φακέλων στην Python έχουν διπλή κάτω παύλα:
- /__pycache__/
- lib.py
- test.py
Υπάρχουν περιπτώσεις όπου χρειάζεται να εισαχθεί μια
μονάδα που βρίσκεται σε άλλο φάκελο, για παράδειγμα,
στη διαδρομή /dir/lib.py:
- /__pycache__/
- /dir/
- lib.py
- test.py
Τότε το όνομα του φακέλου και του αρχείου κατά την εισαγωγή γράφεται μέσω τελείας και επίσης γράφεται η εισαγμένη συνάρτηση:
import dir.lib
dir.lib.func()
Δημιουργήστε ένα αρχείο file.py. Σε αυτό φτιάξτε μια
συνάρτηση που θα εκτυπώνει στην κονσόλα
έναν αριθμό. Εισάγετε αυτή τη συνάρτηση στο
αρχείο με τον κώδικα εργασίας σας.
Στο αρχείο test1.file1.py δημιουργήστε μια
συνάρτηση που εκτυπώνει κάποιο μήνυμα.
Εισάγετέ την στο αρχείο εργασίας σας.