Customize Consent Preferences

We use cookies to help you navigate efficiently and perform certain functions. You will find detailed information about all cookies under each consent category below.

The cookies that are categorized as "Necessary" are stored on your browser as they are essential for enabling the basic functionalities of the site. ... 

Always Active

Necessary cookies are required to enable the basic features of this site, such as providing secure log-in or adjusting your consent preferences. These cookies do not store any personally identifiable data.

No cookies to display.

Functional cookies help perform certain functionalities like sharing the content of the website on social media platforms, collecting feedback, and other third-party features.

No cookies to display.

Analytical cookies are used to understand how visitors interact with the website. These cookies help provide information on metrics such as the number of visitors, bounce rate, traffic source, etc.

No cookies to display.

Performance cookies are used to understand and analyze the key performance indexes of the website which helps in delivering a better user experience for the visitors.

No cookies to display.

Advertisement cookies are used to provide visitors with customized advertisements based on the pages you visited previously and to analyze the effectiveness of the ad campaigns.

No cookies to display.

4.8 Προγραμματισμός σε Στυλ Λειτουργικής Γλώσσας στην Python

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

Λειτουργικός Προγραμματισμός στην Python

Κάποια από τα βασικά στοιχεία του λειτουργικού στυλ προγραμματισμού στην Python περιλαμβάνουν:

  1. Αποφυγή Παρενεργειών (Avoiding Side Effects): Εστίαση στην αποφυγή αλλαγών στην κατάσταση ή στα δεδομένα εκτός της συνάρτησης.
  2. Closures
  3. Δηλωτικός Προγραμματισμός (Declarative Programming)
  4. Decorators: Δυνατότητα τροποποίησης συναρτήσεων μέσω άλλων συναρτήσεων.
  5. Συμπεριλήψεις Λεξικών (Dictionary Comprehensions)
  6. Συναρτήσεις Filter/Map/Reduce
  7. Μονάδα Λειτουργικών Εργαλείων (Functools Module)
  8. Εκφράσεις Γεννητριών (Generator Expressions)
  9. Συναρτήσεις Γεννητριών
  10. Συναρτήσεις Υψηλότερης Τάξης (Higher-Order Functions)
  11. Αμεταβλητότητα (Immutability)
  12. Εσωτερική Επανάληψη (Internal Iteration)
  13. Iterators
  14. Μονάδα Εργαλείων Επανάληψης (Itertools Module)
  15. Λάμδα Εκφράσεις (Lambda Expressions)
  16. Αργή Αξιολόγηση (Lazy Evaluation)
  17. Συμπεριλήψεις Λιστών (List Comprehensions)
  18. Μονάδα Λειτουργίας (Operator Module)
  19. Καθαρές Συναρτήσεις (Pure Functions)
  20. Συνάρτηση Range
  21. Μειώσεις (Reductions)
  22. Συμπεριλήψεις Συνόλων (Set Comprehensions)

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

Καθαρές Συναρτήσεις στον Προγραμματισμό

Στον προγραμματισμό λειτουργικού στυλ, η έννοια της “καθαρής” συνάρτησης παίζει έναν κεντρικό ρόλο. Οι καθαρές συναρτήσεις είναι συναρτήσεις που το αποτέλεσμά τους εξαρτάται αποκλειστικά από τα ορίσματά τους και δεν προκαλούν παρενέργειες στο περιβάλλον εκτέλεσής τους.

Χαρακτηριστικά Καθαρών Συναρτήσεων

Σταθερότητα Αποτελεσμάτων (Consistency):

  • Μια καθαρή συνάρτηση παράγει πάντα το ίδιο αποτέλεσμα για τα ίδια ορίσματα, ανεξάρτητα από το πόσες φορές ή το πότε καλείται.

Απουσία Παρενεργειών (No Side Effects):

  • Καθαρές συναρτήσεις δεν προκαλούν αλλαγές ή επιπτώσεις στο περιβάλλον του προγράμματος, όπως τροποποίηση κοινόχρηστων δεδομένων ή αλλαγές στην κατάσταση του συστήματος.

Παράδειγμα: Η Συνάρτηση sum στην Python

Η ενσωματωμένη συνάρτηση sum στην Python είναι ένα κλασικό παράδειγμα καθαρής συνάρτησης. Ας εξετάσουμε τη συμπεριφορά της:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
my_list = [1, 2, 3]
# Κλήση της συνάρτησης sum
result = sum(my_list)
print(result) # Εκτυπώνει 6
# Η αρχική λίστα παραμένει αμετάβλητη
print(my_list) # Εκτυπώνει [1, 2, 3]
my_list = [1, 2, 3] # Κλήση της συνάρτησης sum result = sum(my_list) print(result) # Εκτυπώνει 6 # Η αρχική λίστα παραμένει αμετάβλητη print(my_list) # Εκτυπώνει [1, 2, 3]
my_list = [1, 2, 3]

# Κλήση της συνάρτησης sum
result = sum(my_list)

print(result)  # Εκτυπώνει 6

# Η αρχική λίστα παραμένει αμετάβλητη
print(my_list)  # Εκτυπώνει [1, 2, 3]

Σε αυτό το παράδειγμα, η συνάρτηση sum επιστρέφει το άθροισμα των στοιχείων της λίστας χωρίς να τροποποιήσει την ίδια τη λίστα. Η συνάρτηση είναι καθαρή, καθώς δεν προκαλεί παρενέργειες και δίνει σταθερό αποτέλεσμα για δεδομένο σύνολο ορισμάτων.

Η χρήση καθαρών συναρτήσεων στον προγραμματισμό μπορεί να βοηθήσει στην απλοποίηση της κατανόησης και της διόρθωσης των προγραμμάτων, καθώς παρέχουν ένα πιο προβλέψιμο και ελεγχόμενο περιβάλλον εκτέλεσης.

11 Ιανουαρίου, 2024
top
error: Content is protected !!
Μετάβαση σε γραμμή εργαλείων