Ένας νεαρός άνδρας που πληκτρολογεί στο φορητό υπολογιστή του στο σπίτι
Πίστωση εικόνας: g-stockstudio/iStock/Getty Images
Σε αντίθεση με τη C++ και την Java, οι μεταβλητές Python δεν περιέχουν ρητές πληροφορίες τύπου. Εάν χρησιμοποιείτε μια συνάρτηση που απαιτεί συμβολοσειρά, μπορείτε να περάσετε μεταβλητές άλλων τύπων σε αυτήν χωρίς ρίχνοντας μια εξαίρεση, αν και ο κώδικάς σας μπορεί να δημιουργήσει μια εξαίρεση όταν προσπαθεί να επεξεργαστεί τη μεταβλητή. Οι μόνοι τύποι δεδομένων που μπορεί να χρειαστεί να μετατρέψετε σε συμβολοσειρές είναι σύνθετες δομές δεδομένων, όπως σύνολα και λίστες. Η Python περιλαμβάνει εύχρηστες συναρτήσεις και τελεστές για την επανάληψη των στοιχείων σε μια δομή δεδομένων και την προσθήκη χαρακτήρων σε μια μεταβλητή συμβολοσειράς.
Ισχυρές, Δυναμικά Δακτυλογραφημένες Γλώσσες
Η C++ και η Java απαιτούν μια δεσμευτική λέξη τύπου για να προηγείται όλων των εκχωρήσεων μεταβλητών, επειδή ο μεταγλωττιστής ή το περιβάλλον χρόνου εκτέλεσης πρέπει να γνωρίζει πώς να χειρίζεται τα δεδομένα. Αυτές οι στατικά πληκτρολογημένες γλώσσες χρησιμοποιούν τη μετάδοση τύπων για τη μετατροπή μεταξύ τύπων, εάν είναι δυνατόν. Δεδομένου ότι η Python είναι μια δυναμικά πληκτρολογημένη γλώσσα, ο διερμηνέας συμπεραίνει τον τύπο κατά το χρόνο εκτέλεσης, επομένως απλώς εκχωρείτε τιμές σε μεταβλητές όπως απαιτείται. Μπορείτε να αντιστοιχίσετε οποιονδήποτε τύπο δεδομένων σε μια μεταβλητή που χρησιμοποιήθηκε στο παρελθόν ως διαφορετικός τύπος και ο συλλέκτης σκουπιδιών Python αφαιρεί την παλιά μεταβλητή από τη μνήμη.
Το βίντεο της ημέρας
Μετατροπή δομών δεδομένων σε συμβολοσειρές
Εάν το πρόγραμμά σας συλλέγει πληροφορίες κειμένου σε μια σύνθετη δομή, όπως μια λίστα, πλειάδα ή σύνολο, μπορείτε να κάνετε βρόχο στη δομή δεδομένων για να προσαρτήσετε στοιχεία σε μια μεταβλητή συμβολοσειράς. Δεν χρειάζεται να δηλώσετε μια μεταβλητή συμβολοσειράς πριν επαναλάβετε τη δομή δεδομένων, αλλά μπορεί να κάνει τον κώδικά σας πιο απλό. Για παράδειγμα, ο ακόλουθος κώδικας δείχνει την πιο βασική μέθοδο για τη μετατροπή μιας λίστας σε συμβολοσειρά:
ultimateQuestion = "" # declare κενές συμβολοσειρά "ultimateQuestion"
tokens = ["Τι είναι ", 6, " φορές ", 9, "?"] # λίστα μικτών τύπων με κενό διάστημα
για t σε διακριτικά: ultimateQuestion += str (t)
εκτύπωση (τελική ερώτηση)
Η μέθοδος str που χρησιμοποιείται στον βρόχο for μεταφέρει ακέραιους αριθμούς σε συμβολοσειρές και δεν έχει καμία επίδραση στις υπάρχουσες συμβολοσειρές. Εάν εκτελέσετε αυτόν τον κώδικα στον διερμηνέα Python, εκτυπώνει το "Τι είναι 6 επί 9;"
Ενσωματωμένες μέθοδοι συμβολοσειράς
Όπως οι περισσότερες γλώσσες υψηλού επιπέδου, η Python περιλαμβάνει πολλές μεθόδους που ανήκουν στον ενσωματωμένο τύπο συμβολοσειράς. Στην Python, μπορείτε να καλέσετε αυτές τις μεθόδους από μια συμβολοσειρά literal, έτσι για να συνδέσετε στοιχεία λίστας, για παράδειγμα, μπορείτε να περάσετε μια μεταβλητή λίστας στη μέθοδο ένωσης μιας συμβολοσειράς literal όπως στο ακόλουθο παράδειγμα:
tokens = ['Hello', 'World'] #string tokens χωρίς κενό διάστημα
pyString = ' '.join (tokens)
εκτύπωση (pyString)
Αυτό το σενάριο καλεί join από τη συμβολοσειρά " " κυριολεκτικά, η οποία είναι μια συμβολοσειρά ενός χαρακτήρα μόνο του χαρακτήρα διαστήματος. Συνδέει τα «Hello» και «World» στο «Hello World» εισάγοντας το καλούν αντικείμενο -- έναν χαρακτήρα διαστήματος -- μεταξύ κάθε στοιχείου της λίστας.
Ανάλυση μεταβλητού πεδίου Python
Όπως και σε άλλες γλώσσες υψηλού επιπέδου, πρέπει να προσέχετε το εύρος μιας μεταβλητής όταν δηλώνετε και εκχωρείτε μεταβλητές συμβολοσειράς. Εάν δηλώσετε μια μεταβλητή συμβολοσειράς μέσα σε μια συνάρτηση ή βρόχο, δεν μπορείτε να τη χρησιμοποιήσετε πουθενά αλλού στο πρόγραμμα. Για παράδειγμα, ο διερμηνέας Python καταστρέφει τη μεταβλητή "verticalList" αφού επιστρέψει από τον βρόχο:
για g σε είδη παντοπωλείου: verticalList += g + '\n' # συμβολοσειρά που δηλώνεται μέσα για βρόχο
εκτύπωση (κάθετη λίστα)
Αυτό το σενάριο δημιουργεί μια εξαίρεση επειδή το "verticalList" δεν ορίζεται εκτός του πεδίου εφαρμογής του βρόχου for.