Πίνακας περιεχομένων[Κρύβω][Προβολή]
Καλώς ήρθατε στην τρίτη διάλεξη στο μάθημα crash.
Σε αυτή τη διάλεξη, θα μάθουμε να ασχολούμαστε με τις χορδές στην Python. Ετοιμάστε το ποπ κορν σας και καθίστε σφιχτά.
Χορδές
Αρχικά, ας μιλήσουμε για εισαγωγικά και ας εξαλείψουμε τη σύγχυση που μπορεί να εισάγουν στην Python.
Όπως αναφέρθηκε προηγουμένως, μπορούμε να χρησιμοποιήσουμε τόσο μονά όσο και διπλά εισαγωγικά μετά από μια συνάρτηση στην Python. Υπάρχει μια συγκεκριμένη χρησιμότητα αυτού. Ας υποθέσουμε ότι θέλετε να εκτυπώσετε κάτι τέτοιο.
print('This is Shahbaz's computer')
Τώρα στην παραπάνω έκφραση, όλα μετά το δεύτερο απόσπασμα όπως στο "Shahbaz's" θα παραμείνουν απροσδιόριστα από τον διερμηνέα python επειδή η Python θα λάβει το δεύτερο απόσπασμα ως το τέλος της συμβολοσειράς. Σε αυτήν την περίπτωση, θέλετε να χρησιμοποιήσετε τα διπλά εισαγωγικά για να δηλώσετε τη συμβολοσειρά ως εξής:
print("This is Shahbaz's computer")
Αυτό μπορεί να εφαρμοστεί και αντίστροφα και μπορούμε να χρησιμοποιήσουμε μονά εισαγωγικά εάν υπάρχουν διπλές εισαγωγικές μέσα στη συμβολοσειρά. π.χ
print('This "computer" belongs to Shahbaz')
Τώρα, αν θέλετε να εκτυπώσετε μια συμβολοσειρά που εκτείνεται σε πολλές γραμμές, θα πρέπει να χρησιμοποιήσετε τριπλά εισαγωγικά για να περικλείσετε τη συμβολοσειρά. Αυτά τα εισαγωγικά μπορούν επίσης να είναι μονά ή διπλά ανάλογα με το περιεχόμενο της συμβολοσειράς. Για παράδειγμα:
Τώρα ας υποθέσουμε ότι θέλετε να εκτυπώσετε έναν συγκεκριμένο χαρακτήρα από τη συμβολοσειρά. Πώς θα το έκανες αυτό;
Ο διερμηνέας Python ευρετηριάζει τους χαρακτήρες στη συμβολοσειρά ως εξής:
Όπως μπορείτε να δείτε στο τερματικό, έχει εκτυπωθεί μόνο το 'h'. Αυτό συμβαίνει επειδή έχουμε επιλέξει μόνο τον τρίτο χαρακτήρα στη συμβολοσειρά μας για εκτύπωση στο τερματικό γράφοντας 3 σε αγκύλες εγγραφή μετά τη μεταβλητή. Ο διερμηνέας Python ευρετηριάζει επίσης τους χαρακτήρες σε αρνητικό για να απλοποιήσει μεγάλες συμβολοσειρές. Αυτό σημαίνει ότι το '-1' θα είναι ο τελευταίος αριθμός στη συμβολοσειρά και ούτω καθεξής. Σημειώστε ότι τα κενά δεν είναι ευρετηριασμένα, πράγμα που σημαίνει ότι η παραπάνω συμβολοσειρά θα έχει μόνο 21 ευρετηριασμένα κενά.
Μπορείτε επίσης να επιλέξετε μια σειρά χαρακτήρων από τη συμβολοσειρά. π.χ
HashDork = ('Python Course by Shahbaz')
print(HashDork[0:3])
Αυτό το πρόγραμμα θα εκτυπώσει «Pyt» στο τερματικό. Ο Δείκτης 3 εξαιρείται από αυτό.
HashDork = ('Python Course by Shahbaz')
print(HashDork[2:])
Με τον ίδιο τρόπο, εάν δεν παρέχουμε το τελικό ευρετήριο, ο python θα εκτυπώσει ολόκληρη τη συμβολοσειρά μετά το πρώτο ευρετήριο. Το αποτέλεσμα αυτού του προγράμματος θα είναι «thon Course by Shahbaz». Αυτό ισχύει το αντίστροφο. δηλαδή αν χάσουμε το πρώτο ευρετήριο τότε θα εκτυπωθεί ολόκληρη η συμβολοσειρά από την αρχή μέχρι το τελευταίο καθορισμένο ευρετήριο.
Ένα πρόγραμμα με μόνο την άνω και κάτω τελεία στις αγκύλες ευρετηρίου θα αποδώσει την πλήρη συμβολοσειρά στο τερματικό.
Άσκηση
Εδώ είναι μια ενδιαφέρουσα άσκηση
γράψτε ένα πρόγραμμα που ορίζει το διάστημα ευρετηρίου [1:-1]. Ποια πιστεύετε ότι θα είναι η έξοδος. Δοκιμάστε το μόνοι σας.
Μορφοποιημένες συμβολοσειρές
Οι μορφοποιημένες συμβολοσειρές είναι ιδιαίτερα χρήσιμες σε περιπτώσεις όπου δημιουργείτε δυναμικά κάποιο κείμενο με τις μεταβλητές σας. Επιτρέψτε μου να σας δείξω.
Ας υποθέσουμε ότι έχουμε δύο μεταβλητές, το όνομα και το επίθετο.
first_name = 'Shahbaz'
last_name = 'Bhatti'
Τώρα θέλουμε να εκτυπώσουμε το «Shahbaz [Bhatti] είναι κωδικοποιητής» στο τερματικό. Πώς θα το κάναμε αυτό; Θα εισαγάγουμε μια τρίτη μεταβλητή ως εξής:
message = 'first_name + ' [' + last_name + '] is a coder'
Τώρα, εάν εκτυπώσουμε και εκτελέσουμε αυτό το πρόγραμμα, θα λάβουμε το "Shahbaz [Bhatti] είναι κωδικοποιητής" στο τερματικό.
Αν και αυτή η προσέγγιση λειτουργεί τέλεια, δεν είναι ιδανική, επειδή όσο το κείμενό μας γίνεται πιο περίπλοκο, γίνεται πιο δύσκολο να οπτικοποιήσουμε το αποτέλεσμα. Εδώ χρησιμοποιούμε μορφοποιημένες συμβολοσειρές, που μας διευκολύνουν να οπτικοποιήσουμε την έξοδο.
Ας αλλάξουμε την τρίτη μεταβλητή 'μήνυμα' και ας εισάγουμε μια μορφοποιημένη συμβολοσειρά. Για να ορίσετε μορφοποιημένες συμβολοσειρές, προσθέστε το πρόθεμα των συμβολοσειρών σας με ένα 'f' και, στη συνέχεια, χρησιμοποιήστε σγουρά άγκιστρα για να εισαγάγετε δυναμικά τιμές στις συμβολοσειρές σας. Το πρόγραμμά μας θα μοιάζει κάπως έτσι:
first_name = 'Shahbaz'
last_name = 'Bhatti'
message = f'{first_name} [{last_name}] is a coder'
Για να ορίσετε μορφοποιημένες συμβολοσειρές, προσθέστε ένα πρόθεμα στις συμβολοσειρές σας με ένα F και, στη συνέχεια, χρησιμοποιήστε σγουρά άγκιστρα για να εισαγάγετε δυναμικά τιμές στις συμβολοσειρές σας.
Υπέροχα πράγματα που μπορείτε να κάνετε με τις χορδές Python
Θα σας δείξω μερικά πολύ ωραία πράγματα που μπορείτε να κάνετε με τις χορδές Python.
1. Αριθμός χαρακτήρων σε μια συμβολοσειρά
Ας ξεκινήσουμε λοιπόν ορίζοντας μια μεταβλητή:
message = 'Shahbaz Bhatti is a Coder '
Τώρα αν θέλω να προσδιορίσω τον αριθμό των χαρακτήρων στην παραπάνω συμβολοσειρά, υπάρχει μια ενσωματωμένη συνάρτηση «len» στην Python. Απλώς εκτυπώστε τη μεταβλητή με αυτήν τη συνάρτηση ως εξής
print(len(message))
Αυτό είναι ιδιαίτερα χρήσιμο όταν λαμβάνετε πληροφορίες από τον χρήστη. Για παράδειγμα, έχετε παρατηρήσει ότι όταν συμπληρώνετε μια φόρμα στο διαδίκτυο, κάθε πεδίο εισαγωγής έχει συχνά ένα όριο. Για παράδειγμα, μπορεί να έχετε 50 χαρακτήρες για το όνομά σας, επομένως χρησιμοποιώντας αυτήν τη συνάρτηση «len» μπορούμε να επιβάλουμε ένα όριο στον αριθμό των χαρακτήρων σε ένα πεδίο εισαγωγής.
2. Μετατροπή χαρακτήρων σε συμβολοσειρά σε κεφαλαία ή πεζά
Μπορούμε να έχουμε πρόσβαση στις συναρτήσεις που σχετίζονται με τη συμβολοσειρά μέσω του τελεστή κουκκίδων. Μπορείτε να πληκτρολογήσετε το όνομα της μεταβλητής σας και βάζοντας μια τελεία μπροστά της, μπορείτε να δείτε τη λίστα με όλες αυτές τις συναρτήσεις.
Τώρα με πιο ακριβείς όρους, αναφέρεστε σε αυτές τις συναρτήσεις ως μεθόδους, αυτός είναι ένας όρος στον αντικειμενοστραφή προγραμματισμό που θέλουμε να εξετάσουμε στο μέλλον, αλλά προς το παρόν, αυτό που θέλω να αφαιρέσετε είναι ότι όταν μια συνάρτηση ανήκει σε κάτι άλλο ή είναι συγκεκριμένο σε κάποιο είδος αντικειμένου, αναφερόμαστε σε αυτή τη λειτουργία ως μέθοδο. Σε αυτήν την περίπτωση, θα χρησιμοποιήσουμε τη μέθοδο "upper" για τη μετατροπή της συμβολοσειράς σε κεφαλαία.
Καθώς αυτή η συνάρτηση είναι συγκεκριμένη για μια συμβολοσειρά, αναφερόμαστε σε αυτήν ως μέθοδο. Αντίθετα, το "len" και το "print" είναι συναρτήσεις γενικής χρήσης, δεν ανήκουν σε συμβολοσειρές ή αριθμούς ή άλλα είδη αντικειμένων. Αυτή είναι η βασική διαφορά μεταξύ μιας συνάρτησης και μιας μεθόδου.
Τώρα, ας το εκτυπώσουμε.
message = 'Shahbaz Bhatti is a coder'
print(message.upper())
Και μπορούμε να δούμε ότι πήραμε τη χορδή μας με κεφαλαία. Παρομοίως, έχουμε μια μέθοδο "lower" για να μετατρέψουμε τη συμβολοσειρά σε πεζά. Μπορείτε επίσης να χρησιμοποιήσετε τη μέθοδο "title" για να γράψετε κεφαλαία κάθε λέξη της συμβολοσειράς.
Σημειώστε ότι η μέθοδος δεν αλλάζει ούτε τροποποιεί την αρχική μας συμβολοσειρά. Στην πραγματικότητα, δημιουργεί μια νέα συμβολοσειρά και την επιστρέφει.
3. Βρείτε την ακολουθία χαρακτήρων σε μια συμβολοσειρά
Ας δοκιμάσουμε μια άλλη μέθοδο για να βρούμε το ευρετήριο ενός συγκεκριμένου χαρακτήρα στη συμβολοσειρά.
Τύπος:
message.find('b')
μετά την ίδια μεταβλητή και εκτυπώστε την. Θα εκτυπώσει το ευρετήριο της πρώτης εμφάνισης του γράμματος 'b' στη συμβολοσειρά που είναι 4 σε αυτήν την περίπτωση.
Σημειώστε ότι αυτή η μέθοδος κάνει διάκριση πεζών-κεφαλαίων και θα επιστρέψει -1 εάν ο χαρακτήρας δεν βρεθεί στη συμβολοσειρά. Μπορεί επίσης να χρησιμοποιηθεί για μια ακολουθία χαρακτήρων.
Για παράδειγμα, το ακόλουθο πρόγραμμα:
message = 'Shahbaz Bhatti is a coder'
print(message.find('coder'))
θα επιστρέψει την τιμή "20" καθώς η ακολουθία "coder" ξεκινά από το ευρετήριο 20.
4. Αντικατάσταση ενός χαρακτήρα σε μια συμβολοσειρά
Μπορείτε να χρησιμοποιήσετε τη μέθοδο "αντικατάσταση" για να αντικαταστήσετε έναν χαρακτήρα ή μια ακολουθία χαρακτήρων σε μια συμβολοσειρά. Ας το δούμε στην πράξη.
message = 'Shahbaz Bhatti is a coder'
print(message.replace('coder', 'programmer'))
Αυτό το πρόγραμμα θα αντικαταστήσει τη λέξη "coder" με "programmer" και θα την εκτυπώσει στο τερματικό.
5. Ελέγξτε την ύπαρξη ενός χαρακτήρα σε μια συμβολοσειρά
Τώρα υπάρχουν περιπτώσεις που θέλετε να ελέγξετε την ύπαρξη ενός χαρακτήρα ή μιας ακολουθίας του χαρακτήρα στη συμβολοσειρά σας. Σε αυτές τις περιπτώσεις, μπορείτε να χρησιμοποιήσετε τη μορφή της έκφρασής σας ως εξής:
message = 'Shahbaz Bhatti is a coder'
εκτύπωση ("python" στο μήνυμα)
Τώρα αυτό θα επιστρέψει μια boolean συνάρτηση. δηλαδή «Σωστό» ή «Λάθος». Σαν αυτό;
Λάβετε υπόψη ότι όλες αυτές οι μέθοδοι και λειτουργίες κάνουν διάκριση πεζών-κεφαλαίων.
Τύλιξε!
Υπάρχουν πολλά περισσότερα στα έγχορδα, τα οποία θα μάθουμε σταδιακά καθώς προχωράμε. Στη συνέχεια, θα μάθουμε να εκτελούμε αριθμητικές πράξεις στην Python.
Αφήστε μια απάντηση