Customize Consent Preferences

We use cookies to help you navigate efficiently and perform certain functions. You will find detailed information about all cookies under each consent category below.

The cookies that are categorized as "Necessary" are stored on your browser as they are essential for enabling the basic functionalities of the site. ... 

Always Active

Necessary cookies are required to enable the basic features of this site, such as providing secure log-in or adjusting your consent preferences. These cookies do not store any personally identifiable data.

No cookies to display.

Functional cookies help perform certain functionalities like sharing the content of the website on social media platforms, collecting feedback, and other third-party features.

No cookies to display.

Analytical cookies are used to understand how visitors interact with the website. These cookies help provide information on metrics such as the number of visitors, bounce rate, traffic source, etc.

No cookies to display.

Performance cookies are used to understand and analyze the key performance indexes of the website which helps in delivering a better user experience for the visitors.

No cookies to display.

Advertisement cookies are used to provide visitors with customized advertisements based on the pages you visited previously and to analyze the effectiveness of the ad campaigns.

No cookies to display.

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), αν υπάρχουν. Με αυτόν τον τρόπο, το αλφαριθμητικό κεφαλαίοποιείται μόνο στο πρώτο γράμμα και διατηρείται η πεζή μορφή για τα υπόλοιπα γράμματα, αν υπάρχουν.

Παράδειγμα:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
text = "hello world!" # Αρχικό αλφαριθμητικό
new_text = text.capitalize() # Εφαρμογή της μεθόδου capitalize()
print(new_text) # Εκτύπωση του νέου αλφαριθμητικού
text = "hello world!" # Αρχικό αλφαριθμητικό new_text = text.capitalize() # Εφαρμογή της μεθόδου capitalize() print(new_text) # Εκτύπωση του νέου αλφαριθμητικού
text = "hello world!"  # Αρχικό αλφαριθμητικό
new_text = text.capitalize()  # Εφαρμογή της μεθόδου capitalize()
print(new_text)  # Εκτύπωση του νέου αλφαριθμητικού

Αποτέλεσμα:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
Hello world!
Hello world!
Hello world!

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

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

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

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

[adinserter block=”2″]

Παράδειγμα:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
# Αρχικό αλφαριθμητικό
string = "PyThON ProGRamMING"
# Χρήση της μεθόδου casefold() για να μετατραπεί το αλφαριθμητικό σε lowercase
new_string = string.casefold()
# Εκτύπωση του νέου αλφαριθμητικού
print(new_string)
# Αρχικό αλφαριθμητικό string = "PyThON ProGRamMING" # Χρήση της μεθόδου casefold() για να μετατραπεί το αλφαριθμητικό σε lowercase new_string = string.casefold() # Εκτύπωση του νέου αλφαριθμητικού print(new_string)
# Αρχικό αλφαριθμητικό
string = "PyThON ProGRamMING"

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

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

Αποτέλεσμα:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
python programming
python programming
python programming

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

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

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

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

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

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

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
# Αρχική συμβολοσειρά
string = "Hello"
# Εφαρμογή της μεθόδου center() για ευθυγράμμιση στο κέντρο με πλάτος 10
new_string = string.center(10)
# Εκτύπωση του νέου αποτελέσματος
print(new_string)
# Αρχική συμβολοσειρά string = "Hello" # Εφαρμογή της μεθόδου center() για ευθυγράμμιση στο κέντρο με πλάτος 10 new_string = string.center(10) # Εκτύπωση του νέου αποτελέσματος print(new_string)
# Αρχική συμβολοσειρά
string = "Hello"

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

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

Αποτέλεσμα:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
Hello
Hello
  Hello   

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

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

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

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

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

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
# Αρχική συμβολοσειρά
string = "Hello, how are you?"
# Αναζήτηση του χαρακτήρα 'o' στη συμβολοσειρά και επιστροφή του αριθμού των εμφανίσεων
count = string.count('o')
# Εκτύπωση του αποτελέσματος
print(count)
# Αρχική συμβολοσειρά string = "Hello, how are you?" # Αναζήτηση του χαρακτήρα 'o' στη συμβολοσειρά και επιστροφή του αριθμού των εμφανίσεων count = string.count('o') # Εκτύπωση του αποτελέσματος print(count)
# Αρχική συμβολοσειρά
string = "Hello, how are you?"

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

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

Αποτέλεσμα:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
3
3
3

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

[adinserter block=”3″]

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

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

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

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

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
# Αρχικό αλφαριθμητικό
string = "Hello, World!"
# Έλεγχος αν τελειώνει με την υποσυμβολοσειρά "World!"
result = string.endswith("World!")
# Εκτύπωση του αποτελέσματος
print(result)
# Αρχικό αλφαριθμητικό string = "Hello, World!" # Έλεγχος αν τελειώνει με την υποσυμβολοσειρά "World!" result = string.endswith("World!") # Εκτύπωση του αποτελέσματος print(result)
# Αρχικό αλφαριθμητικό
string = "Hello, World!"

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

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

Αποτέλεσμα:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
True
True
True

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

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

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

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

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

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
# Αρχική συμβολοσειρά με χαρακτήρες tab
string = "Hello\tWorld!"
# Εφαρμογή της μεθόδου expandtabs() για αντικατάσταση των χαρακτήρων tab με κενά (προεπιλεγμένο μήκος 8)
new_string = string.expandtabs()
# Εκτύπωση του νέου αποτελέσματος
print(new_string)
# Αρχική συμβολοσειρά με χαρακτήρες tab string = "Hello\tWorld!" # Εφαρμογή της μεθόδου expandtabs() για αντικατάσταση των χαρακτήρων tab με κενά (προεπιλεγμένο μήκος 8) new_string = string.expandtabs() # Εκτύπωση του νέου αποτελέσματος print(new_string)
# Αρχική συμβολοσειρά με χαρακτήρες tab
string = "Hello\tWorld!"

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

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

Αποτέλεσμα:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
Hello World!
Hello World!
Hello   World!

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

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

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

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

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

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
# Αρχική συμβολοσειρά
string = "Hello, world!"
# Αναζήτηση του υποσυνόλου "world" στη συμβολοσειρά
position = string.find("world")
# Εκτύπωση της θέσης του υποσυνόλου
print(position)
# Αρχική συμβολοσειρά string = "Hello, world!" # Αναζήτηση του υποσυνόλου "world" στη συμβολοσειρά position = string.find("world") # Εκτύπωση της θέσης του υποσυνόλου print(position)
# Αρχική συμβολοσειρά
string = "Hello, world!"

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

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

Αποτέλεσμα:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
7
7
7

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

[adinserter block=”4″]

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

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

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

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

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
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)
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)
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)

Αποτέλεσμα:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
My name is John, I am 25 years old, and I work as an engineer.
My name is John, I am 25 years old, and I work as an engineer.
My name is John, I am 25 years old, and I work as an engineer.

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

[adinserter block=”5″]

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

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
price = 9.99
txt = "Η τιμή είναι {:.2f} ευρώ.".format(price)
print(txt)
price = 9.99 txt = "Η τιμή είναι {:.2f} ευρώ.".format(price) print(txt)
price = 9.99
txt = "Η τιμή είναι {:.2f} ευρώ.".format(price)
print(txt)

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

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
Η τιμή είναι 9.99 ευρώ.
Η τιμή είναι 9.99 ευρώ.
Η τιμή είναι 9.99 ευρώ.

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

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

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

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

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

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
# Αρχική συμβολοσειρά
string = "Hello, World!"
# Εύρεση της θέσης του υποστρώματος "World" στη συμβολοσειρά
position = string.index("World")
# Εκτύπωση της θέσης
print(position)
# Αρχική συμβολοσειρά string = "Hello, World!" # Εύρεση της θέσης του υποστρώματος "World" στη συμβολοσειρά position = string.index("World") # Εκτύπωση της θέσης print(position)
# Αρχική συμβολοσειρά
string = "Hello, World!"

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

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

Αποτέλεσμα:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
7
7
7

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

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

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
my_string = "Hello, world!"
print(my_string.index("x")) # Raises an exception: ValueError: substring not found
my_string = "Hello, world!" print(my_string.index("x")) # Raises an exception: ValueError: substring not found
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 !!
Μετάβαση σε γραμμή εργαλείων