2.4 μορφοποίηση αλφαριθμητικών στην Python

Στην Python, μπορείτε να χρησιμοποιήσετε τη μέθοδο format() και τις αγκύλες {} για να μορφοποιήσετε αλφαριθμητικά. Αυτό σας επιτρέπει να εισάγετε τιμές μέσα στα αλφαριθμητικά και να προβάλλετε δυναμικά περιεχόμενο.

Παράδειγμα:

name = "John"  # Ορισμός μεταβλητής με τιμή "John"
age = 30  # Ορισμός μεταβλητής με τιμή 30
txt = "My name is {}, and I am {}"  # Ορισμός μεταβλητής txt με τη μορφή ενός κειμένου που περιέχει placeholders
print(txt.format(name, age))  # Χρήση της μεθόδου format() για να αντικαταστήσει τα placeholders με τις τιμές των μεταβλητών

Στον παραπάνω κώδικα, ορίζονται οι μεταβλητές name και age με τις τιμές “John” και 30 αντίστοιχα. Η μεταβλητή txt περιέχει ένα κείμενο με δύο placeholders {} που θα αντικατασταθούν αργότερα με τις τιμές των μεταβλητών.

Με τη χρήση της μεθόδου format(), τα placeholders στο κείμενο αντικαθίστανται με τις τιμές των μεταβλητών name και age. Το αποτέλεσμα εκτυπώνεται στην οθόνη ως “My name is John, and I am 30”.

Μπορείτε επίσης να χρησιμοποιήσετε αριθμούς μέσα στις αγκύλες {} για να καθορίσετε τη θέση των αντικειμένων στο αλφαριθμητικό:

# Χρήση της μεθόδου format() για τη διαμόρφωση ενός κειμένου με μεταβλητές

# Ορισμός των μεταβλητών
quantity = 3
itemno = 567
price = 49.95

# Ορισμός του προτύπου του κειμένου με τις θέσεις των μεταβλητών με αριθμούς {0}, {1}, {2}
myorder = "I want to pay {2} dollars for {0} pieces of item {1}."

# Χρήση της μεθόδου format() για να εισαχθούν οι τιμές των μεταβλητών στο πρότυπο κείμενο
formatted_order = myorder.format(quantity, itemno, price)

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

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

Στην αρχή, ορίζονται οι μεταβλητές quantity, itemno και price με τις αντίστοιχες τιμές.

Στη συνέχεια, ορίζεται το πρότυπο του κειμένου με χρήση αριθμών {0}, {1} και {2} για να υποδείξει τις θέσεις των μεταβλητών που θα εισαχθούν.

Η μέθοδος format() καλείται στο πρότυπο κείμενο myorder, και οι τιμές των μεταβλητών quantity, itemno και price δίνονται ως ορίσματα στη σειρά τους. Η μέθοδος format() εισάγει τις τιμές των μεταβλητών στο πρότυπο κείμενο και επιστρέφει ένα νέο διαμορφωμένο κείμενο.

Τέλος, το διαμορφωμένο κείμενο εκτυπώνεται με τη χρήση της συνάρτησης print().

Το αποτέλεσμα που θα εμφανιστεί στην οθόνη είναι:

I want to pay 49.95 dollars for 3 pieces of item 567.

Αυτό συμβαίνει καθώς η μέθοδος format() αντικαθιστά τις θέσεις {0}, {1} και {2} με τις τιμές των μεταβλητών quantity, itemno και price αντίστοιχα, δημιουργώντας το τελικό διαμορφωμένο κείμενο που εκτυπώνεται.

[adinserter block=”2″]

Μπορείτε επίσης να χρησιμοποιήσετε τον προηγούμενο τρόπο για να μορφοποιήσετε αριθμούς και να καθορίσετε τον αριθμό των δεκαδικών ψηφίων που θα εμφανίζονται:

# Ορισμός της μεταβλητής price με τιμή 49.95
price = 49.95

# Ορισμός της μεταβλητής txt με ένα κείμενο που περιέχει έναν placeholder {:.2f} για την εισαγωγή της τιμής της μεταβλητής price
txt = "The price is {:.2f} dollars"

# Εκτύπωση του κειμένου txt χρησιμοποιώντας τη μέθοδο format() για να αντικαταστήσει τον placeholder με την τιμή της μεταβλητής price
print(txt.format(price))  # Εκτυπώνει: "The price is 49.95 dollars"

Ο παραπάνω κώδικας παρουσιάζει τη χρήση της μεθόδου format() για την εισαγωγή της τιμής της μεταβλητής price στο κείμενο που περιέχεται στη μεταβλητή txt.

Με τη χρήση του {:.2f}, δηλώνουμε ότι θέλουμε να εμφανίσουμε την τιμή της μεταβλητής price με δύο δεκαδικά ψηφία (στρογγυλοποίηση στο δεύτερο δεκαδικό ψηφίο). Η ανακατεύθυνση : δηλώνει ότι ακολουθεί μια μορφοποίηση, το f δηλώνει ότι θέλουμε να μορφοποιήσουμε την τιμή ως float.

Τελικά, το αποτέλεσμα είναι η εκτύπωση του κειμένου “The price is 49.95 dollars”.

Μπορείτε επίσης να χρησιμοποιήσετε τη μέθοδο format() για να μορφοποιήσετε δεκαδικούς αριθμούς χωρίς να χρησιμοποιήσετε τον προηγούμενο τρόπο:

# Ορισμός τιμής τιμολογίου
price = 49.95555

# Ορισμός κειμένου πρότυπου με placeholder {}
txt = "The price is {} dollars"

# Εκτύπωση του κειμένου με τη χρήση της μεθόδου format()
# Το placeholder {} αντικαθίσταται από την τιμή της price,
# η οποία αρχικά στρογγυλοποιείται στα δύο δεκαδικά ψηφία.
print(txt.format(round(price, 2)))

Ο κώδικας παραπάνω δημιουργεί ένα κείμενο που περιλαμβάνει έναν placeholder {} για την εισαγωγή της τιμής του τιμολογίου. Η μέθοδος format() καλείται στο κείμενο txt και αντικαθιστά τον placeholder με την τιμή της μεταβλητής price.

Η τιμή του price αρχικά στρογγυλοποιείται στα δύο δεκαδικά ψηφία χρησιμοποιώντας τη συνάρτηση round(). Έπειτα, το πρότυπο κείμενο txt με τη μέθοδο format() αντικαθίσταται με τη στρογγυλοποιημένη τιμή του price, και το τελικό αποτέλεσμα εκτυπώνεται.

Το αποτέλεσμα στην οθόνη θα είναι:

The price is 49.96 dollars

Αυτό συμβαίνει επειδή η γραμμή κώδικα print(txt.format(round(price, 2))) εκτυπώνει το κείμενο "The price is 49.96 dollars". Η μέθοδος format() αντικαθιστά τον placeholder {} με τη στρογγυλοποιημένη τιμή της μεταβλητής price, η οποία είναι 49.96.

[adinserter block=”3″]

Μπορείτε να χρησιμοποιήσετε αριθμούς δείκτες (ένας αριθμός μέσα στις αγκύλες {}) για να βεβαιωθείτε ότι οι τιμές τοποθετούνται στις σωστές θέσεις:

# Χρήση της μεθόδου format() για την αντικατάσταση μεταβλητών σε ένα κείμενο
txt = "My name is {1}, {0} {1}"
print(txt.format("John", "Doe"))

Στον παραπάνω κώδικα, χρησιμοποιείται η μέθοδος format() για να αντικαταστήσει μεταβλητές σε ένα κείμενο.

Η μέθοδος format() καλείται στο αντικείμενο κειμένου txt και παίρνει ως ορίσματα τις τιμές που θα αντικατασταθούν στο κείμενο. Οι τιμές αυτές περνούν ως ορίσματα στη μέθοδο format() με τη σειρά που αντιστοιχεί στις θέσεις αντικατάστασης {0}, {1}, κλπ.

Στο παράδειγμα, η λέξη “John” αντικαθίσταται στη θέση {0} και η λέξη “Doe” αντικαθίσταται και στις θέσεις {1}. Επομένως, το αποτέλεσμα που εκτυπώνεται είναι “My name is Doe, John Doe”.

Σημειώνεται ότι οι δείκτες αντικατάστασης στη μέθοδο format() ξεκινούν από το 0 και αυξάνονται κατά ένα για κάθε αντικείμενο που θέλουμε να αντικαταστήσουμε.

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

# Ορισμός μεταβλητών
age = 36
name = "John"

# Δημιουργία μορφοποιημένου κειμένου
txt = "His name is {1}. {1} is {0} years old."

# Εφαρμογή μορφοποίησης με τη χρήση της μεθόδου format()
formatted_txt = txt.format(age, name)

# Εκτύπωση του μορφοποιημένου κειμένου
print(formatted_txt)

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

Συγκεκριμένα, το {0} αντικαθίσταται από την τιμή της μεταβλητής age (36), ενώ το {1} αντικαθίσταται από την τιμή της μεταβλητής name (“John”). Έτσι, το τελικό μορφοποιημένο κείμενο που εκτυπώνεται είναι “His name is John. John is 36 years old.”

Μπορείτε επίσης να χρησιμοποιήσετε ονομαστικούς δείκτες εισάγοντας ένα όνομα μέσα στις αγκύλες {}:

# Χρήση της μεθόδου format() για την αντικατάσταση μεταβλητών σε ένα κείμενο

myorder = "I have a {car}, it is a {model}."
print(myorder.format(car="Ford", model="Mustang"))

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

Στο κείμενο myorder, έχουμε δύο μεταβλητές που περικλείονται σε αγκύλες: {car} και {model}. Η μέθοδος format() καλείται στο αντικείμενο myorder και τα ορίσματα car="Ford" και model="Mustang" χρησιμοποιούνται για να αντικαταστήσουν τις αντίστοιχες μεταβλητές στο κείμενο.

Το αποτέλεσμα της εκτέλεσης του κώδικα θα είναι:

I have a Ford, it is a Mustang.

Οι μεταβλητές {car} και {model} αντικαθίστανται αντίστοιχα με τις τιμές "Ford" και "Mustang", προκαλώντας τη δημιουργία του νέου κειμένου.

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