2.9 Συναρτήσεις String στην Python (1)

Οι συναρτήσεις στα αλφαριθμητικά είναι χρήσιμα εργαλεία για τους προγραμματιστές, καθώς τους επιτρέπουν να εκτελούν διάφορες ενέργειες και μετατροπές σε αλφαριθμητικά. Παρακάτω παρατίθενται μερικές από τις πιο συνηθισμένες συναρτήσεις αλφαριθμητικών στη γλώσσα προγραμματισμού Python:

  1. len(): Επιστρέφει το μήκος ενός αλφαριθμητικού.
  2. lower(): Μετατρέπει ένα αλφαριθμητικό σε πεζά γράμματα.
  3. upper(): Μετατρέπει ένα αλφαριθμητικό σε κεφαλαία γράμματα.
  4. strip(): Αφαιρεί τα κενά χαρακτήρες από την αρχή και το τέλος ενός αλφαριθμητικού.
  5. replace(): Αντικαθιστά μια υποσυμβολοσειρά με μια άλλη σε ένα αλφαριθμητικό.
  6. split(): Χωρίζει ένα αλφαριθμητικό σε μια λίστα από υποσυμβολοσειρές, βάσει ενός διαχωριστικού χαρακτήρα.
  7. join(): Συνδέει μια λίστα από αλφαριθμητικά με ένα διαχωριστικό σύμβολο.
  8. format(): Χρησιμοποιείται για τη μορφοποίηση αλφαριθμητικών με placeholders για την εισαγωγή δυναμικών τιμών.

Με τη χρήση αυτών των συναρτήσεων, οι προγραμματιστές έχουν τη δυνατότητα να διαχειρίζονται και να τροποποιούν αλφαριθμητικά με ευκολία και ευελιξία.

Στη γλώσσα προγραμματισμού Python, η μέθοδος capitalize() χρησιμοποιείται για να μετατρέψει το πρώτο γράμμα ενός αλφαριθμητικού σε κεφαλαίο γράμμα (uppercase), ενώ τα υπόλοιπα γράμματα του αλφαριθμητικού τα μετατρέπει σε πεζά γράμματα (lowercase), αν υπάρχουν. Με αυτόν τον τρόπο, το αλφαριθμητικό κεφαλαίοποιείται μόνο στο πρώτο γράμμα και διατηρείται η πεζή μορφή για τα υπόλοιπα γράμματα, αν υπάρχουν.

Παράδειγμα:

text = "hello world!"  # Αρχικό αλφαριθμητικό
new_text = text.capitalize()  # Εφαρμογή της μεθόδου capitalize()
print(new_text)  # Εκτύπωση του νέου αλφαριθμητικού

Αποτέλεσμα:

Hello world!

Η μέθοδος capitalize() εφαρμόζεται στο αρχικό αλφαριθμητικό "hello world!", και ως αποτέλεσμα παράγει το νέο αλφαριθμητικό "Hello world!" με το πρώτο γράμμα κεφαλαίο (uppercase). Το υπόλοιπο αλφαριθμητικό παραμένει ως έχει, δηλαδή με πεζά γράμματα (lowercase). Το τελικό αποτέλεσμα εκτυπώνεται στην οθόνη.

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

Η μέθοδος casefold() είναι παρόμοια με τη μέθοδο lower(), αλλά είναι πιο εκτεταμένη και αφαιρεί ακόμα περισσότερες διακυμάνσεις μεταξύ πεζών και κεφαλαίων γραμμάτων. Αυτό την καθιστά χρήσιμη όταν απαιτείται πλήρης απαλοιφή των διακυμάνσεων και μετατροπή όλων των γραμμάτων σε πεζά γράμματα.

Παράδειγμα κώδικα:

[adinserter block=”2″]

Παράδειγμα:

# Αρχικό αλφαριθμητικό
string = "PyThON ProGRamMING"

# Χρήση της μεθόδου casefold() για να μετατραπεί το αλφαριθμητικό σε lowercase
new_string = string.casefold()

# Εκτύπωση του νέου αλφαριθμητικού
print(new_string)

Αποτέλεσμα:

python programming

Η μέθοδος casefold() χρησιμοποιείται για να μετατρέψει το αλφαριθμητικό σε lowercase, ανεξάρτητα από τη γλώσσα και τις ειδικές περιπτώσεις για κάποια γράμματα. Στο παράδειγμα, το αρχικό αλφαριθμητικό "PyThON ProGRamMING" μετατρέπεται σε "python programming".

Η μέθοδος center() στην Python χρησιμοποιείται για να ευθυγραμμίσει μια συμβολοσειρά στο κέντρο με ένα συγκεκριμένο πλάτος. Προσθέτει κενά (ή άλλους χαρακτήρες) στην αριστερή και δεξιά πλευρά της συμβολοσειράς μέχρι να φτάσει το επιθυμητό πλάτος.

Η σύνταξη είναι η εξής: string.center(width, character), όπου:

  • string είναι η συμβολοσειρά που θέλουμε να ευθυγραμμίσουμε στο κέντρο,
  • width είναι το πλάτος του τελικού αποτελέσματος,
  • character είναι ο χαρακτήρας που θέλουμε να προσθέσουμε για να συμπληρώσουμε το κενό στις αριστερές και δεξιές πλευρές της συμβολοσειράς (προαιρετικό).

Αν δεν προσδιοριστεί ο χαρακτήρας συμπλήρωσης, το προεπιλεγμένο είναι το κενό διάστημα.

Παράδειγμα κώδικα:

# Αρχική συμβολοσειρά
string = "Hello"

# Εφαρμογή της μεθόδου center() για ευθυγράμμιση στο κέντρο με πλάτος 10
new_string = string.center(10)

# Εκτύπωση του νέου αποτελέσματος
print(new_string)

Αποτέλεσμα:

  Hello   

Η συμβολοσειρά "Hello" ευθυγραμμίζεται στο κέντρο του πλάτους 10 με τη χρήση της μεθόδου center(). Προστίθενται τρία κενά διαστήματα (το προεπιλεγμένο χαρακτήρας συμπλήρωσης) αριστερά και δεξιά της συμβολοσειράς για να φτάσει στο επιθυμητό πλάτος.

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

Η σύνταξη είναι η εξής: string.count(substring), όπου:

  • string είναι η συμβολοσειρά στην οποία θέλουμε να αναζητήσουμε,
  • substring είναι το υποσύνολο ή ο χαρακτήρας που θέλουμε να αναζητήσουμε.

Παράδειγμα κώδικα:

# Αρχική συμβολοσειρά
string = "Hello, how are you?"

# Αναζήτηση του χαρακτήρα 'o' στη συμβολοσειρά και επιστροφή του αριθμού των εμφανίσεων
count = string.count('o')

# Εκτύπωση του αποτελέσματος
print(count)

Αποτέλεσμα:

3

Η συμβολοσειρά "Hello, how are you?" περιέχει τον χαρακτήρα 'o' τρεις φορές, οπότε η μέθοδος count() επιστρέφει τον αριθμό 3.

[adinserter block=”3″]

Η μέθοδος endswith() σε ένα αλφαριθμητικό χρησιμοποιείται για να ελέγξει αν το αλφαριθμητικό τελειώνει με μια συγκεκριμένη υποσυμβολοσειρά που δίνεται ως παράμετρος. Επιστρέφει True αν το αλφαριθμητικό τελειώνει με την συγκεκριμένη υποσυμβολοσειρά, αλλιώς επιστρέφει False.

Η σύνταξη είναι η εξής: string.endswith(suffix), όπου:

  • string είναι το αλφαριθμητικό που ελέγχουμε,
  • suffix είναι η υποσυμβολοσειρά που ελέγχουμε αν αποτελεί το τελευταίο τμήμα του αλφαριθμητικού.

Παράδειγμα κώδικα:

# Αρχικό αλφαριθμητικό
string = "Hello, World!"

# Έλεγχος αν τελειώνει με την υποσυμβολοσειρά "World!"
result = string.endswith("World!")

# Εκτύπωση του αποτελέσματος
print(result)

Αποτέλεσμα:

True

Το αλφαριθμητικό "Hello, World!" τελειώνει με την υποσυμβολοσειρά "World!", οπότε η μέθοδος endswith() επιστρέφει True.

Η μέθοδος expandtabs() στην Python χρησιμοποιείται για να αντικαταστήσει τους χαρακτήρες του tab με κενά διαστήματα, ενώ καθορίζει το πλήθος των κενών που θα καλύψουν τον κάθε χαρακτήρα του tab. Αν δεν δοθεί κάποιο μήκος, χρησιμοποιείται η προεπιλεγμένη απόσταση των 8 κενών.

Η σύνταξη είναι η εξής: string.expandtabs(tabsize), όπου:

  • string είναι η συμβολοσειρά που θέλουμε να αντικαταστήσουμε τους χαρακτήρες tab,
  • tabsize είναι το πλήθος των κενών που θα αντικαταστήσουν τον κάθε χαρακτήρα tab (προαιρετικό).

Παράδειγμα κώδικα:

# Αρχική συμβολοσειρά με χαρακτήρες tab
string = "Hello\tWorld!"

# Εφαρμογή της μεθόδου expandtabs() για αντικατάσταση των χαρακτήρων tab με κενά (προεπιλεγμένο μήκος 8)
new_string = string.expandtabs()

# Εκτύπωση του νέου αποτελέσματος
print(new_string)

Αποτέλεσμα:

Hello   World!

Οι χαρακτήρες tab (\t) αντικαθίστανται από 8 κενά διαστήματα στο αποτέλεσμα.

Η μέθοδος find() χρησιμοποιείται στην Python για να αναζητήσετε ένα υποσύνολο στοιχείων σε μια συμβολοσειρά και να επιστρέψετε τη θέση του πρώτου χαρακτήρα του υποσυνόλου. Αν το υποσύνολο βρεθεί, επιστρέφεται η θέση του πρώτου χαρακτήρα στη συμβολοσειρά. Αν δεν βρεθεί το υποσύνολο στη συμβολοσειρά, η μέθοδος find() επιστρέφει την τιμή -1.

Η σύνταξη είναι η εξής: string.find(substring), όπου:

  • string είναι η συμβολοσειρά στην οποία θέλουμε να αναζητήσουμε το υποσύνολο,
  • substring είναι το υποσύνολο που επιθυμούμε να αναζητήσουμε.

Παράδειγμα κώδικα:

# Αρχική συμβολοσειρά
string = "Hello, world!"

# Αναζήτηση του υποσυνόλου "world" στη συμβολοσειρά
position = string.find("world")

# Εκτύπωση της θέσης του υποσυνόλου
print(position)

Αποτέλεσμα:

7

Το υποσύνολο “world” βρίσκεται στη θέση 7 στη συμβολοσειρά “Hello, world!”. Εάν το υποσύνολο δεν βρεθεί, η μέθοδος find() θα επιστρέψει την τιμή -1.

[adinserter block=”4″]

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

Η σύνταξη της μεθόδου format() είναι η εξής: "Συμβολοσειρά {}".format(μεταβλητή1, μεταβλητή2, ...).

Οι αγκύλες {} λειτουργούν ως placeholder στη συμβολοσειρά, όπου οι μεταβλητές που θέλουμε να ενσωματώσουμε θα τοποθετηθούν. Μπορούμε να έχουμε πολλαπλά placeholders και να αναφερόμαστε σε αυτά με τη χρήση αριθμητικών ευρετηρίων {0}, {1}, κ.λπ., για να υποδείξουμε τη θέση της αντίστοιχης μεταβλητής στη μέθοδο format().

Παράδειγμα κώδικα:

name = "John"
age = 25
occupation = "engineer"

message = "My name is {}, I am {} years old, and I work as an {}.".format(name, age, occupation)
print(message)

Αποτέλεσμα:

My name is John, I am 25 years old, and I work as an engineer.

Η μέθοδος format() επιτρέπει τη συνένωση των τριών μεταβλητών name, age, occupation με τη χρήση των placeholders {}, και η τελική συμβολοσειρά που παράγεται παρουσιάζει τις τιμές αυτών των μεταβλητών.

[adinserter block=”5″]

Μπορεί επίσης να χρησιμοποιηθεί για τον έλεγχο του τρόπου παρουσίασης δεδομένων σε μια συμβολοσειρά. Για παράδειγμα:

price = 9.99
txt = "Η τιμή είναι {:.2f} ευρώ.".format(price)
print(txt)

Αυτό θα εμφανίσει:

Η τιμή είναι 9.99 ευρώ.

Οι αγκύλες {} αντικαθιστούνται από τις τιμές των μεταβλητών, ενώ με το :.2f καθορίζεται ο αριθμός των δεκαδικών ψηφίων που θα εμφανίζονται.

Η μέθοδος index() στην Python χρησιμοποιείται για να βρει τη θέση μιάς συγκεκριμένης υποσυμβολοσείρας (substring) στο εσωτερικό μιας συμβολοσειράς (string). Αν δεν βρεθεί η υποσυμβολοσείρα στη συμβολοσειρά, τότε επιστρέφεται μήνυμα λάθους.

Η σύνταξη της μεθόδου είναι η εξής: string.index(substring), όπου:

  • string είναι η συμβολοσειρά στην οποία θέλουμε να εντοπίσουμε την υποσυμβολοσείρα,
  • substring είναι το υποστρώμα που αναζητούμε.

Παράδειγμα κώδικα:

# Αρχική συμβολοσειρά
string = "Hello, World!"

# Εύρεση της θέσης του υποστρώματος "World" στη συμβολοσειρά
position = string.index("World")

# Εκτύπωση της θέσης
print(position)

Αποτέλεσμα:

7

Η θέση της υποσυμβολοσείρα “World” στη συμβολοσειρά είναι 7. Εάν η υποσυμβολοσείρα δεν βρεθεί στη συμβολοσειρά, η μέθοδος index() θα προκαλέσει ένα μήνυμα λάθους.

Ένα άλλο παράδειγμα με μια συμβολοσειρά που δεν περιέχει το υποστρώμα που αναζητούμε θα έχει ως εξής:

my_string = "Hello, world!"
print(my_string.index("x"))  # Raises an exception: ValueError: substring not found

Στο παραπάνω παράδειγμα, προσπαθούμε να βρούμε τη θέση του υποστρώματος “x” στη συμβολοσειρά “Hello, world!”. Επειδή η συμβολοσειρά δεν περιέχει το υποστρώμα που αναζητούμε, το παραπάνω πρόγραμμα επιστρέφει μήνυμα λάθους.

7 Ιουνίου, 2023
top
error: Content is protected !!
Μετάβαση σε γραμμή εργαλείων