Αυτή η διάλεξη αφορά μια άλλη βασική δομή της Python, που ονομάζεται πλειάδα.
Tuples
Οι πλειάδες είναι παρόμοιες με τις λίστες, επομένως μπορούμε να τις χρησιμοποιήσουμε για να αποθηκεύσουμε μια λίστα στοιχείων. Αλλά σε αντίθεση με τις λίστες, δεν μπορούμε να τις τροποποιήσουμε, να προσθέσουμε νέα στοιχεία ή να αφαιρέσουμε υπάρχοντα στοιχεία. Μπορούμε να πούμε ότι οι πλειάδες είναι αμετάβλητες.
Επιτρέψτε μου να σας δείξω. Οι πλειάδες αναγνωρίζονται με παρένθεση αντί για αγκύλες στις λίστες.
numbers = (4, 1, 7, 5, 0, 9)
Τώρα, αν βγάλουμε τη λίστα μεθόδων για πλειάδες, μπορείτε να δείτε ότι δεν έχουμε τις μεθόδους προσάρτησης ή εισαγωγής, επομένως δεν μπορούν να προστεθούν νέα στοιχεία σε αυτήν την πλειάδα. Έχουμε μόνο δύο μεθόδους: μέτρηση και ευρετήριο.
Χρησιμοποιούμε "count" για να μετρήσουμε τον αριθμό των εμφανίσεων ενός αντικειμένου. Το "ευρετήριο" χρησιμοποιείται για την εύρεση του ευρετηρίου της πρώτης εμφάνισης ενός αντικειμένου. Έτσι, μπορούμε να λάβουμε πληροφορίες μόνο για μια πλειάδα και δεν μπορούμε να τις αλλάξουμε. Παρεμπιπτόντως, αυτές οι άλλες μέθοδοι που βλέπετε εδώ, ξεκινούν με δύο υπογράμμιση.
Αναφερόμαστε σε αυτές ως μαγικές μεθόδους. Είναι περισσότερο ένα προχωρημένο θέμα και θα τα θίξουμε στη μελλοντική μας σειρά.
Εκτός από αμετάβλητες, οι πλειάδες μοιράζονται τα περισσότερα από τα χαρακτηριστικά μιας λίστας.
Πρακτικά μιλώντας, τις περισσότερες φορές θα χρησιμοποιείτε λίστες, αλλά οι πλειάδες είναι επίσης χρήσιμες. Εάν θέλετε να δημιουργήσετε μια λίστα στοιχείων και βεβαιωθείτε ότι πουθενά στο πρόγραμμά σας δεν τροποποιείτε κατά λάθος αυτήν τη λίστα, τότε είναι καλύτερα να χρησιμοποιήσετε μια πλειάδα.
Αποσυσκευασία
Σε αυτήν την ενότητα, θα σας δείξω ένα ισχυρό χαρακτηριστικό, που έχουμε στον python που ονομάζεται αποσυσκευασία.
Ας ορίσουμε μια πλειάδα "συντεταγμένη"
coordinate = (1, 2, 3)
Τώρα, φανταστείτε ότι αυτές είναι οι συντεταγμένες για «x», «y» και «z». Τώρα, ας πούμε, θέλουμε να πάρουμε αυτές τις τιμές και να τις χρησιμοποιήσουμε σε μερικές σύνθετες εκφράσεις στο πρόγραμμά μας. Ίσως, θέλουμε να τα συμπεριλάβουμε ως μέρος μιας μεγάλης σύνθετης φόρμουλας.
Έτσι, μαζί θα πρέπει να γράψουμε κώδικα όπως αυτός:
coordinate[0] * coordinate[1] * coordinate[2]
Αυτή η γραμμή κώδικα θα πολλαπλασιάσει όλες τις συντεταγμένες, αλλά είναι αναποτελεσματικό να γράψουμε τον κώδικά μας έτσι. Αρχικά, ας χρησιμοποιήσουμε μια καλύτερη προσέγγιση και ας αποθηκεύσουμε αυτές τις συντεταγμένες σε ξεχωριστές μεταβλητές.
x = coordinate[0]
y = coordinate[1]
z = coordinate[2]
Αυτό είναι καλύτερο. Σωστά? Άρα τίποτα καινούργιο μέχρι στιγμής. Τώρα, επιτρέψτε μου να σας δείξω ένα ισχυρό χαρακτηριστικό που ονομάζεται αποσυσκευασία και με αυτό, μπορούμε να επιτύχουμε το ίδιο αποτέλεσμα με πολύ λιγότερο κώδικα.
x, y, z, = coordinate
Τώρα, αυτή η μοναδική γραμμή κώδικα είναι ακριβώς ισοδύναμη με τις τρεις γραμμές κώδικα που γράφτηκαν παραπάνω. Επιτρέψτε μου να σας εξηγήσω πώς λειτουργεί.
Όταν ο διερμηνέας Python δει αυτή τη δήλωση, θα λάβει το πρώτο στοιχείο σε αυτήν την πλειάδα και θα το αντιστοιχίσει στη μεταβλητή. Ομοίως, το δεύτερο και το τρίτο στοιχείο θα αντιστοιχιστούν στις μεταβλητές. Κάνοντας αυτό, αποσυσκευάζουμε αυτήν την πλειάδα σε 3 μεταβλητές. Ας ελέγξουμε την παραγωγή μας.
Η αποσυσκευασία μπορεί να γίνει και με λίστες.
λεξικά
Θα μάθουμε για τα λεξικά στην Python. Χρησιμοποιούμε λεξικά σε περιπτώσεις όπου θέλουμε να αποθηκεύσουμε πληροφορίες που έρχονται ως ζεύγη κλειδιού-τιμής.
Εδώ είναι ένα παράδειγμα. Σκεφτείτε έναν πελάτη με μια σειρά από χαρακτηριστικά όπως όνομα, email, αριθμός τηλεφώνου, διεύθυνση και ούτω καθεξής. Τώρα κάθε ένα από αυτά τα χαρακτηριστικά έχει μια τιμή. Για παράδειγμα:
name = Jay
email = [email protected]
Σε αυτό το παράδειγμα, τα κλειδιά μας είναι το όνομα, το email και το τηλέφωνο. Κάθε κλειδί σχετίζεται με μια τιμή, επομένως εδώ χρησιμοποιούμε ένα λεξικό. Με ένα λεξικό, μπορούμε να αποθηκεύσουμε ένα σωρό ζεύγη κλειδιών-τιμών. Επιτρέψτε μου να σας δείξω πώς να ορίσετε ένα λεξικό σε python.
customer = {
"name": "Jay",
"email": "[email protected]",
"age": 30,
"is_verified": True
}
Το κλειδί μπορεί να ρυθμιστεί σε συμβολοσειρές, αριθμούς, boolean ή οτιδήποτε άλλο. Τα πλήκτρα είναι μοναδικά και μπορούν να οριστούν μόνο μία φορά, δηλαδή δεν μπορώ να ορίσω ξανά την «ηλικία» με κάποιον άλλο αριθμό. Έχουν επίσης διάκριση πεζών-κεφαλαίων.
Τώρα, αν πληκτρολογήσω customer["name"],
θα καλέσει το όνομα του πελάτη. Ας το εκτυπώσουμε στο τερματικό:
Μπορούμε επίσης να χρησιμοποιήσουμε τις μεθόδους με λεξικά. Η ίδια λειτουργία που παρουσιάζεται παραπάνω μπορεί να αναπαραχθεί χρησιμοποιώντας τη μέθοδο "get".
Υπάρχει μια ιδιαίτερη διαφορά μεταξύ των δύο παραπάνω μεθόδων. Επιτρέψτε μου να το αποδείξω.
Μπορείτε να δείτε ότι όταν απλώς εκτυπώσαμε ένα ανύπαρκτο κλειδί, προέκυψε σφάλμα. Από την άλλη πλευρά, η χρήση της μεθόδου για την κλήση του ανύπαρκτου κλειδιού οδηγεί σε ένα αποτέλεσμα "κανένα" που αντιπροσωπεύει την απουσία μιας τιμής. Όταν χρησιμοποιούμε τη μέθοδο "get", μπορούμε επίσης να παρέχουμε μια προεπιλεγμένη τιμή.
Για παράδειγμα, εάν αυτό το λεξικό δεν έχει κλειδί "ημερομηνία γέννησης", μπορούμε να το παρέχουμε ως εξής:
customer.get("birthdate", "Jan 01, 1994")
Μπορούμε επίσης να ενημερώσουμε οποιοδήποτε κλειδί στο λεξικό, παρόμοιο με μια λίστα. Ας υποθέσουμε ότι θέλουμε να ενημερώσουμε το κλειδί ονόματος στο λεξικό μας. Να πώς θα το κάνουμε.
customer["name"] = "Shahbaz"
Μια παρόμοια σύνταξη μπορεί να χρησιμοποιηθεί για την προσθήκη ενός νέου κλειδιού στο λεξικό μας επίσης. Ας προσθέσουμε το κλειδί «ημερομηνία γέννησης» με παρόμοιο τρόπο.
customer["birthdate"] = "Jan 01, 1994"
Έτσι, αυτά είναι τα βασικά της χρήσης λεξικών στην Python. Είναι εξαιρετικά σημαντικά και έχουν πολλές εφαρμογές στον πραγματικό κόσμο.
Άσκηση
Θα γράψετε ένα πρόγραμμα που μετατρέπει ψηφία σε λέξεις όπως αυτό:
Λύση
Εδώ είναι η λύση για εσάς παιδιά.
phone = input("Phone: ")
digits_mapping = {
"1": "One",
"2": "Two",
"3": "Three",
"4": "Four",
"5": "Five",
"6": "Six",
"7": "Seven",
"8": "Eight",
"9": "Nine",
"0": "Zero"
}
output = " "
for ch in phone:
output += digits_mapping.get(ch, "!") + " "
print(output)
Παρομοίως, μπορείτε να δημιουργήσετε άλλα διασκεδαστικά προγράμματα, όπως ένας "μετατροπέας emoji" Διασκεδάστε PYTHONERS!
Τύλιξε!
Ελπίζω να σας άρεσε αυτή η διάλεξη. Στη συνέχεια, θα βουτήξουμε σε μια σημαντική πτυχή του προγραμματισμού Python, τις συναρτήσεις και τις παραμέτρους.
Αφήστε μια απάντηση