Σημείωση Python
Publié le 19 November 2023
Εγκατάσταση του Python στα Windows
Εκτέλεση python
cd mon_projet
python -m venv mon_venv
source mon_venv/bin/activate
# Sur windows
mon_venv\Scripts\activate
deactivate
απαιτηση εγκατάστασης
pip install -r requirements.txt
αρχή
Σχεδιαστικά πρότυπα του GoF στην Python
Τα design patterns του GoF είναι ένα σύνολο από 23 design patterns που περιγράφονται στο βιβλίο "Design Patterns: Elements of Reusable Object-Oriented Software".
όνομα |
Περιγραφή |
Μέθοδος Factory |
Δημιουργεί αντικείμενα χωρίς να καθορίζει την ακριβή κλάση που θα δημιουργηθεί. |
Αβστράκτο Εργοστασείο |
Δημιούργησε οικογένειες συνδεδεμένων ή εξαρτημένων αντικειμένων χωρίς να καθορίζει τη συγκεκριμένη κλάση τους. |
Κτίristς |
Αποχωρίζει τη κατασκευή ενός πολύπλοκου αντικειμένου από την αναπαράστασή του ώστε η ίδια διαδικασία κατασκευής να μπορεί να δημιουργήσει διαφορετικές αναπαραστάσεις. |
πρωτότυπο |
Δημιούργησε νέα αντικείμενα αντιγράφοντας ένα υπάρχον πρωτότυπο. |
Singleton |
Περιορίζει την δημιουργία ενός μόνο αντικειμένου από μια κλάση. |
Αντάπτορας |
Μετετρέπει την διεπαφή μιας κλάσης σε άλλη διεπαφή που ο πελάτης αναμένει. |
Γέφυρα |
Αποσυνδέστε μια αφαίρεση από την υλοποίηση της ώστε και τα δύο να μπορούν να μεταβούν ανεξάρτητα. |
Συνθετικό |
Συνθέστε αντικείμενα σε δομές δέντρου για να αντιπροσωπεύσουν ιεραρχίες μερών-όλου. |
διακόσμητης |
Προσθέστε δυναμικά επιπλέον ευθύνες σε ένα αντικείμενο. |
φασάδα |
Παρέχει μια ενιαία διεπαφή σε ένα σύνολο διεπαφών σε ένα υποσύστημα. |
Flyweight |
Μειώνει το κόστος δημιουργίας και χρήσης ελαφριών αντικειμένων. |
πρόκσο |
Παρέχει έναν αντικαταστάτη ή έναν χώρο κράτησης για ένα άλλο αντικείμενο, ώστε να ελέγχει την πρόσβαση σε αυτό. |
Αλυσίδα ευθυνών |
Επιτρέπει σε περισσότερο από ένα αντικείμενο να χειριστεί μια αίτηση. |
Εντολή |
Εγκαψουλώνει έναν αίτημα σε ένα αντικείμενο, επιτρέποντας έτσι να ρυθμιστούν οι πελάτες με διαφορετικούς αιτήματα, ουρές ή αρχεία καταγραφής, και να υποστηρίζει τις αναστρεψιμένες λειτουργίες. |
διερμηνέας |
Δώσε μια αναπαράσταση της γραμματικής μιας γλώσσας και χρησιμοποίησε αυτή την αναπαράσταση για να ερμηνεύσεις προτάσεις σε αυτή τη γλώσσα. |
επαναληπτής |
Παρέχει έναν τρόπο για να διαπερνάει τα στοιχεία ενός αντικειμένου συσσωρευτικού σε σειρά, χωρίς να αποκαλύπτει την υποκείμενη αναπαράσταση του. |
μεσολαβητής |
Επιτρέπει τη μείωση των پیچικών εξαρτήσεων μεταξύ των αντικειμένων, κάντας τα να επικοινωνούν μόνο μέσω ενός αντικειμένου-μεσολαβητή. |
υπομνηστικό |
Παρέχει τη δυνατότητα να αποκαταστήσει ένα αντικείμενο στην προηγούμενη του κατάσταση (χωρίς να βιάζει την ενσωμάτωση). |
Παρατηρητής |
Ορίζει μια μία-σε-πολλή εξάρτηση μεταξύ των αντικειμένων ώστε όταν ένα αντικείμενο αλλάζει κατάσταση, όλοι οι εξαρτητοί του ειδοποιούνται και ενημερώνονται αυτόματα. |
Κατάσταση |
Επιτρέπει σε ένα αντικείμενο να αλλάξει τη συμπεριφορά του όταν αλλάζει την εσωτερική κατάσταση του. |
Στρατηγική |
Καθορίζει μια οικογένεια αλγόριθμων, περικλείει καθέναν από αυτούς και τα κάνει εναλλάξιμα. |
Μέθοδος προτύπου |
Ορίζει το σκελετό ενός αλγόριθμου σε μια μέθοδο, μεταφέροντας ορισμένα βήματα στις υποκλάσσες. |
Επισκέπτης |
Επιτρέπει τον ορισμό μιας νέας λειτουργίας που θα εκτελείται σε μια δομή αντικειμένων χωρίς να αλλάξουν οι κλάσεις των αντικειμένων πάνω στα οποία λειτουργεί. |
Λειτουργικός προγραμματισμός
Βιβλιοθήκη |
URL |
Περιγραφή |
PyMonad |
Το PyMonad είναι μια υλοποίηση μοναδικών δομών δεδομένων στην Python, βασισμένη σε γλώσσες προγραμματισμού όπως το Haskell και το F#, με υλοποιήσεις για τις πιο συχνά使用μένες μορφές μονάδων στον λειτουργικό προγραμματισμό.https://www.miguelfarrajota.com/2021/06/monads-in-python-with-pymonad/[άρθρο] |
|
PyFunctional |
PyFunctional είναι μια βιβλιοθήκη Python για τη λειτουργική προγραμματισμό που παρέχει εργαλεία για να εργαστείτε με καθαρές λειτουργίες και επαναλήψιμα. |
|
Τουλζ |
Το Toolz είναι μια βιβλιοθήκη Python για τη λειτουργική προγραμματιστική που παρέχει εργαλεία για να εργαστείτε με καθαρές συναρτήσεις και επαναλαμβανόμενες δομές. |
|
Fn.py |
Το Fn.py είναι μια βιβλιοθήκη Python για προγραμματισμό λειτουργικό που παρέχει εργαλεία για εργασία με καθαρές λειτουργίες και iterables. |
|
Κοκός |
Το Coconut προσθέτει muitas λειτουργίες στη γλώσσα Python για τη συναρτησιακή προγραμματισμό, συμπεριλαμβανομένου του pattern matching.https://stackoverflow.com/questions/11909681/are-there-pattern-matching-functions-in-python-like-this[συνομιλία sof] |
παρενέργειες
βρόχοι
# impérative way
result = []
for i in inputs:
x = f(g(i))
result.append(x)
# idiomatic way
result = map(comp(f,g), inputs)