Κατάλογος μεθόδων συμβολοσειρών για το χειρισμό κεφαλαίων και πεζών γραμμάτων στην Python

Επιχείρηση

Ο τύπος συμβολοσειράς της Python (str) διαθέτει στάνταρ μεθόδους για τον χειρισμό κεφαλαίων και πεζών γραμμάτων. Μπορείτε να μετατρέψετε μεταξύ κεφαλαίων και πεζών και να καθορίσετε την πεζότητα.

Οι ακόλουθες πληροφορίες παρέχονται εδώ.

  • Μετατροπή μεταξύ κεφαλαίων και πεζών γραμμάτων
    • Βασική χρήση
    • Χειρισμός χαρακτήρων πλήρους και μισού μεγέθους
    • str.upper()Μετατροπή όλων των γραμμάτων σε κεφαλαία
    • str.lower()Μετατροπή όλων των γραμμάτων σε πεζά
    • str.capitalize()Μετατρέψτε το πρώτο γράμμα σε κεφαλαίο και τα υπόλοιπα σε πεζό.
    • str.title()Μετατρέψτε το πρώτο γράμμα μιας λέξης σε κεφαλαίο και τα υπόλοιπα σε πεζό.
    • str.swapcase()Μετατρέψτε τα κεφαλαία γράμματα σε πεζά και τα πεζά γράμματα σε κεφαλαία.
  • Καθορισμός κεφαλαίων και πεζών γραμμάτων
    • str.isupper(): Προσδιορίστε αν όλα τα γράμματα είναι κεφαλαία
    • str.islower(): Καθορίστε αν όλοι οι χαρακτήρες είναι πεζά.
    • str.istitle(): Προσδιορίστε αν πρόκειται για υπόθεση τίτλου.
  • Σύγκριση συμβολοσειρών με τρόπο που δεν λαμβάνει υπόψη την πεζότητα

Μετατροπή μεταξύ κεφαλαίων και πεζών γραμμάτων

Βασική χρήση

Αρχικά, θα εξηγήσω τη βασική χρήση. Θα χρησιμοποιήσουμε τη μέθοδο 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