Ο τύπος συμβολοσειράς της Python (str) διαθέτει στάνταρ μεθόδους για τον χειρισμό κεφαλαίων και πεζών γραμμάτων. Μπορείτε να μετατρέψετε μεταξύ κεφαλαίων και πεζών και να καθορίσετε την πεζότητα.
Οι ακόλουθες πληροφορίες παρέχονται εδώ.
- Μετατροπή μεταξύ κεφαλαίων και πεζών γραμμάτων
- Βασική χρήση
- Χειρισμός χαρακτήρων πλήρους και μισού μεγέθους
str.upper()
Μετατροπή όλων των γραμμάτων σε κεφαλαίαstr.lower()
Μετατροπή όλων των γραμμάτων σε πεζάstr.capitalize()
Μετατρέψτε το πρώτο γράμμα σε κεφαλαίο και τα υπόλοιπα σε πεζό.str.title()
Μετατρέψτε το πρώτο γράμμα μιας λέξης σε κεφαλαίο και τα υπόλοιπα σε πεζό.str.swapcase()
Μετατρέψτε τα κεφαλαία γράμματα σε πεζά και τα πεζά γράμματα σε κεφαλαία.
- Καθορισμός κεφαλαίων και πεζών γραμμάτων
str.isupper()
: Προσδιορίστε αν όλα τα γράμματα είναι κεφαλαίαstr.islower()
: Καθορίστε αν όλοι οι χαρακτήρες είναι πεζά.str.istitle()
: Προσδιορίστε αν πρόκειται για υπόθεση τίτλου.
- Σύγκριση συμβολοσειρών με τρόπο που δεν λαμβάνει υπόψη την πεζότητα
- Μετατροπή μεταξύ κεφαλαίων και πεζών γραμμάτων
- Βασική χρήση
- Χειρισμός χαρακτήρων πλήρους και μισού μεγέθους
- str.upper(): μετατροπή όλων των γραμμάτων σε κεφαλαία
- str.lower(): μετατροπή όλων των χαρακτήρων σε πεζούς
- str.capitalize(): μετατρέπει το πρώτο γράμμα σε κεφαλαίο, τα υπόλοιπα σε πεζό
- str.title(): μετατρέπει το πρώτο γράμμα μιας λέξης σε κεφαλαίο και το υπόλοιπο σε πεζό
- str.swapcase(): μετατροπή των κεφαλαίων σε πεζά, των πεζών σε κεφαλαία
- Καθορισμός κεφαλαίων και πεζών γραμμάτων
- Σύγκριση συμβολοσειρών με τρόπο που δεν λαμβάνει υπόψη την πεζότητα
Μετατροπή μεταξύ κεφαλαίων και πεζών γραμμάτων
Βασική χρήση
Αρχικά, θα εξηγήσω τη βασική χρήση. Θα χρησιμοποιήσουμε τη μέθοδο upper() για να γράψουμε όλα τα γράμματα με κεφαλαίο ως παράδειγμα, αλλά το ίδιο ισχύει και για άλλες μεθόδους.
Για λόγους ευκολίας, γράφουμε «μετατροπή», αλλά στην Python, τα αντικείμενα τύπου συμβολοσειράς (str) δεν μπορούν να ενημερωθούν, οπότε η ίδια η αρχική συμβολοσειρά (s_org στο παράδειγμα) δεν αλλάζει.
s_org = 'pYThon proGramminG laNguAge' print(s_org.upper()) # PYTHON PROGRAMMING LANGUAGE print(s_org) # pYThon proGramminG laNguAge
Αν θέλετε να χρησιμοποιήσετε το μετασχηματισμένο αλφαριθμητικό αργότερα, μπορείτε να το αποθηκεύσετε σε μια νέα μεταβλητή ως εξής.
s_new = s_org.upper() print(s_new) # PYTHON PROGRAMMING LANGUAGE
Είναι επίσης δυνατή η αντικατάσταση της αρχικής μεταβλητής.
s_org = s_org.upper() print(s_org) # PYTHON PROGRAMMING LANGUAGE
Χειρισμός χαρακτήρων πλήρους και μισού μεγέθους
Εάν ένας χαρακτήρας είναι ευαίσθητος στην πεζότητα, όπως το αλφάβητο, θα μετατραπεί τόσο σε χαρακτήρες απλού όσο και σε χαρακτήρες διπλού byte.
Οι χαρακτήρες που δεν είναι ευαίσθητοι στην πεζότητα, όπως οι αριθμοί και οι κινεζικοί χαρακτήρες, παραμένουν αμετάβλητοι. Το παράδειγμα αφορά την upper(), αλλά το ίδιο ισχύει και για άλλες μεθόδους.
s_org = 'Pyhon Python 123' print(s_org.upper()) # PYHON PYTHON 123
str.upper(): μετατροπή όλων των γραμμάτων σε κεφαλαία
s_org = 'pYThon proGramminG laNguAge' print(s_org.upper()) # PYTHON PROGRAMMING LANGUAGE
str.lower(): μετατροπή όλων των χαρακτήρων σε πεζούς
s_org = 'pYThon proGramminG laNguAge' print(s_org.lower()) # python programming language
str.capitalize(): μετατρέπει το πρώτο γράμμα σε κεφαλαίο, τα υπόλοιπα σε πεζό
s_org = 'pYThon proGramminG laNguAge' print(s_org.capitalize()) # Python programming language
str.title(): μετατρέπει το πρώτο γράμμα μιας λέξης σε κεφαλαίο και το υπόλοιπο σε πεζό
Μετατροπή σε λεγόμενη υπόθεση τίτλου.
s_org = 'pYThon proGramminG laNguAge' print(s_org.title()) # Python Programming Language
str.swapcase(): μετατροπή των κεφαλαίων σε πεζά, των πεζών σε κεφαλαία
Ανταλλάξτε κεφαλαία και πεζά γράμματα.
s_org = 'pYThon proGramminG laNguAge' print(s_org.swapcase()) # PytHON PROgRAMMINg LAnGUaGE
Καθορισμός κεφαλαίων και πεζών γραμμάτων
Στα παρακάτω παραδείγματα, οι μέθοδοι καλούνται απευθείας από αλφαριθμητικά όπως το 'python', αλλά το ίδιο ισχύει και όταν αποθηκεύονται σε μεταβλητές όπως στα προηγούμενα παραδείγματα.
str.isupper(): προσδιορίζει αν όλα τα γράμματα είναι κεφαλαία
Η isupper() επιστρέφει true αν περιέχει τουλάχιστον έναν χαρακτήρα που εξαρτάται από την πεζότητα και όλοι τους είναι κεφαλαίοι, και false σε αντίθετη περίπτωση.
print('PYTHON'.isupper()) # True print('Python'.isupper()) # False
Εάν ο χαρακτήρας είναι ευαίσθητος στην πεζότητα, κρίνονται ακόμη και χαρακτήρες διπλού byte.
print('PYTHON'.isupper()) # True
Αν περιλαμβάνεται έστω και ένας χαρακτήρας ευαίσθητος στην πεζότητα, ο χαρακτήρας χωρίς ευαισθησία στην πεζότητα αγνοείται, αλλά αν δεν περιλαμβάνεται κανένας χαρακτήρας με ευαισθησία στην πεζότητα (όλοι οι χαρακτήρες δεν έχουν ευαισθησία στην πεζότητα), η απόφαση είναι ψευδής.
print('PYTHON 123'.isupper()) # True print('123'.isupper()) # False
str.islower(): προσδιορίζει αν όλοι οι χαρακτήρες είναι πεζοί
Η islower() επιστρέφει true αν περιέχει τουλάχιστον έναν χαρακτήρα με πεζά γράμματα και όλοι τους είναι πεζά, και false σε αντίθετη περίπτωση.
print('python'.islower()) # True print('Python'.islower()) # False
Εάν ο χαρακτήρας είναι ευαίσθητος στην πεζότητα, κρίνονται ακόμη και χαρακτήρες διπλού byte.
print('python'.islower()) # True
Αν περιλαμβάνεται έστω και ένας χαρακτήρας ευαίσθητος στην πεζότητα, ο χαρακτήρας χωρίς ευαισθησία στην πεζότητα αγνοείται, αλλά αν δεν περιλαμβάνεται κανένας χαρακτήρας με ευαισθησία στην πεζότητα (όλοι οι χαρακτήρες δεν έχουν ευαισθησία στην πεζότητα), η απόφαση είναι ψευδής.
print('python 123'.islower()) # True print('123'.islower()) # False
str.istitle(): Προσδιορίστε αν η περίπτωση είναι περίπτωση τίτλου.
Η istitle() επιστρέφει true αν η συμβολοσειρά είναι τίτλος (το πρώτο γράμμα της λέξης είναι κεφαλαίο, τα υπόλοιπα είναι πεζά), false αλλιώς.
print('Python Programming Language'.istitle()) # True print('PYTHON Programming Language'.istitle()) # False
Εάν περιέχει χαρακτήρες χωρίς ευαισθησία στην πεζότητα, θα είναι ψευδής εάν των χαρακτήρων χωρίς ευαισθησία στην πεζότητα προηγείται ένα πεζό γράμμα.
print('★Python Programming Language'.istitle()) # True print('Python★ Programming Language'.istitle()) # True print('Py★thon Programming Language'.istitle()) # False
Σημειώστε ότι δεν υπάρχουν πολλές συμβολοσειρές όπως στο παραπάνω παράδειγμα, αλλά είναι ρεαλιστικό να συμπεριληφθούν αριθμοί σε διατακτικούς αριθμούς και άλλες περιπτώσεις.
print('The 1st Team'.istitle()) # False print('The 1St Team'.istitle()) # True
Εάν δεν περιλαμβάνονται χαρακτήρες με ευαισθησία στην πεζότητα (όλοι οι χαρακτήρες είναι χωρίς ευαισθησία στην πεζότητα), false.
print('123'.istitle()) # False
Σύγκριση συμβολοσειρών με τρόπο που δεν λαμβάνει υπόψη την πεζότητα
Κατά τη σύγκριση συμβολοσειρών, τα διαφορετικά κεφαλαία και πεζά γράμματα δεν θεωρούνται ισοδύναμα.
s1 = 'python' s2 = 'PYTHON' print(s1 == s2) # False
Αν θέλετε να κάνετε σύγκριση χωρίς να λαμβάνετε υπόψη την πεζότητα, μπορείτε να χρησιμοποιήσετε την upper() ή την lower() για να μετατρέψετε τα δύο και να τα συγκρίνετε.
print(s1.upper() == s2.upper()) # True print(s1.lower() == s2.lower()) # True print(s1.capitalize() == s2.capitalize()) # True print(s1.title() == s2.title()) # True