Python

ΕΝΟΤΗΤΑ 27 - Modules

image description

Στο σημερινό δωρεάν μάθημα Python θα δούμε πως να οργανώνουμε καλύτερα τον κώδικα μας με την χρήση των modules.

Τα περισσότερα προγράμματα τείνουν να περιλαμβάνουν τόσες πολλές γραμμές κώδικα που λογικά δεν θα τις αποθηκεύσετε όλες μέσα σε ένα μόνο αρχείο. Αντ’ αυτού, χωρίζεται τον κώδικα σας σε πολλά αρχεία, κάτι που βοηθά στην καλύτερη οργάνωση του κώδικα σας. Κάθε ένα από αυτά τα αρχεία ονομάζεται module. Μέσα στα modules γράφετε κλάσεις, functions, και μεταβλητές που μπορείτε να εισάγετε στο κύριο σας πρόγραμμα. Εκτός από τα δικά σας modules, η κοινότητα των Python προγραμματιστών έχουν δημιουργήσει μια μεγάλη λίστα από Modules που μπορούμε να χρησιμοποιήσουμε προσθέτοντας έξτρα δυνατότητες στο κώδικα μας. Στο σημερινό δωρεάν μάθημα Python θα δούμε πως να δημιουργούμε τα δικά μας modules, πως να τα εισάγουμε στο πρόγραμμα μας, και πως να χρησιμοποιούμε modules που μας προσφέρει η ίδια η Python.

Ας ξεκινήσουμε με το να δημιουργήσουμε το δικό μας module. Για αρχή θα πρέπει να δημιουργήσουμε ένα αρχείο με το όνομα employeeinfo.py μέσα στο οποίο θα γράψουμε την κλάση Employee.

employeeinfo.py


class Employee():

    def __init__(self, first_name, last_name):
        self.first_name = first_name
        self.last_name = last_name

    def showmessage(self):
        print("This is the Employee")

    def __str__(self):
        return f'First Name = {self.first_name}, Last Name = {self.last_name}'

         

Μόλις έχετε γράψει το πρώτο σας Module! Επαναλαμβάνω για άλλη μια φορά ότι τα Modules δεν είναι τίποτα περισσότερο από κώδικας γραμμένος σε αρχεία που μπορούμε να εισάγουμε στο κύριο πρόγραμμα μας. Τώρα θα πρέπει να ενημερώσουμε το κύριο μας πρόγραμμα (app.py) ότι θέλουμε να χρησιμοποιήσουμε το module employeeinfo έτσι ώστε να αποκτήσουμε πρόσβαση στην κλάση και τις δύο functions που περιέχει.

Για να το πετύχουμε αυτό, γράφουμε την εντολή import σαν πρώτη γραμμή στον κώδικα μας και αμέσως μετά το όνομα του αρχείου χωρίς την κατάληξη py.

App.py


import employeeinfo

michail = employeeinfo.Employee("Michail", "Kassapoglou")
michail.showmessage()
print(michail)
	
	
   

Output


This is the Employee
First Name = Michail, Last Name = Kassapoglou	
	 

Για να μπορέσουμε να δημιουργήσουμε ένα αντικείμενο είδος Employee πρέπει να πρώτα να κάνουμε import το module employeeinfo. Μετά χρησιμοποιώντας το employeeinfo μπορούμε να καλέσουμε την κλάση που είναι γραμμένη μέσα σε αυτό. Αφού δημιουργήσουμε το αντικείμενο, μετά μπορούμε να καλέσουμε και τις μεθόδους που βρίσκονται μέσα στην κλάση.

Αν και ο τρόπος με τον οποίο έχουμε δηλώσει το module είναι σωστός, το να γράφουμε ο όνομα του module μπροστά από την κλάση κάθε φορά πρέπει να την καλέσουμε είναι κάπως κουραστικός. Για αυτό το λόγο μπορούμε να δηλώσουμε τι ακριβώς από το module θέλουμε να χρησιμοποιήσουμε προσθέτοντας την εντολή from στην import δήλωση.

Ας δούμε πως αλλάζει η δήλωση του module Employee στο app.py αρχείο.

App.py


from employeeinfo import Employee

michail = Employee("Michail", "Kassapoglou")
michail.showmessage()
print(michail)
         

Output


This is the Employee
First Name = Michail, Last Name = Kassapoglou	
	 

Τώρα το πρόγραμμα μας είναι πιο σύντομο σε κώδικα και η δήλωση δημιουργίας του αντικειμένου από την κλάση Employee είναι αυτή που ήδη γνωρίζουμε.

Μπορούμε επίσης να δώσουμε ένα δικό μας όνομα στην κλάση που κάνουμε import. Το όνομα το δίνουμε με την εντολή as και το όνομα που δίνουμε εμείς ονομάζεται alias.

App.py


from employeeinfo import Employee as Emp
michail = Emp("Michail", "Kassapoglou")
michail.showmessage()
print(michail)
	
         

Output


This is the Employee
First Name = Michail, Last Name = Kassapoglou	
	 

Με την ίδια λογική, μπορούμε να καλέσουμε και modules που μας προσφέρει η ίδια η Python. Στο παράδειγμα μας θα χρησιμοποιήσουμε το math module έτσι ώστε να μπορούμε να κάνουμε advanced αριθμητικές πράξεις απλά χρησιμοποιώντας τα έτοιμα functions που μας προσφέρει

App.py


from employeeinfo import Employee as Emp
from math import floor, pi

michail = Emp("Michail", "Kassapoglou")
michail.showmessage()
print(michail)
print(floor(8.5))
print(pi)
	
         

Output


This is the Employee
First Name = Michail, Last Name = Kassapoglou
8
3.141592653589793
	
	 

ΕΙΣΗΓΗΤΗΣ

Merry Jhonson

Μιχάλης Κασάπογλου

Ο Μιχάλης Κασάπογλου, είναι ένας από τους πιο έμπειρους τεχνικούς εκπαιδευτές στον χώρο του προγραμματισμού με πάνω από 20 χρόνια εμπειρία. Έχει εργαστεί σαν IT Operations Manager, Senior Programmer, και Training Team Leader ενώ κατέχει και αρκετές πιστοποιήσεις που καλύπτουν ένα μεγάλο φάσμα τεχνολογιών στο προγραμματισμό, σε βάσεις δεδομένων και cloud. Στον ελεύθερο του χρόνο διατηρεί ένα τεχνολογικό blog στο οποίο θα βρείτε αρκετά δωρεάν μαθήματα προγραμματισμού για αρχάριους.

loader