Τι είναι οι συμβολοσειρές f της Python;
Με τις συμβολοσειρές f της Python, μπορείτε να εισάγετε σύνθετες εκφράσεις και μεταβλητές απευθείας σε μια συμβολοσειρά, χωρίς να χρειάζεται να πραγματοποιήσετε επιπλέον μετατροπές ή μορφοποιήσεις.
Τι μπορούν να κάνουν οι συμβολοσειρές f της Python;
Οι f-strings της Python είναι μια μορφή συμβολοσειράς της Python που εισήχθη με την Python 3.6. Είναι επίσης γνωστές ως μορφοποιημένες συμβολοσειρές. Μέσα σε μια f-string, μπορείτε να αξιολογήσετε υπολογισμούς χρησιμοποιώντας αγκύλες. Οι f-strings επιτρέπουν πιο συμπαγή σημειογραφία από άλλες μορφές συμβολοσειράς, όπως str.format() και η συνένωση με +. Αυτό τελικά σας δίνει πιο σαφή και συνοπτικό κώδικα.
Οι F-strings είναι εξαιρετικά ευέλικτες και σας επιτρέπουν να εισάγετε διάφορους τύπους δεδομένων, όπως ακέραιους αριθμούς, αριθμούς με κινητή υποδιαστολή, λίστες, εκφράσεις και συναρτήσεις, χωρίς να χρειάζεται να τα μετατρέψετε ή να προσθέσετε ειδική μορφοποίηση. Οι F-strings της Python τείνουν να είναι ταχύτερες από άλλες μεθόδους μορφοποίησης συμβολοσειρών στην Python.
Ποια είναι η σύνταξη των f-strings της Python;
Η βασική δομή μιας συμβολοσειράς f-string στην Python αποτελείται από το πρόθεμα f ή F, ακολουθούμενο από μια συμβολοσειρά σε εισαγωγικά (“ ή ’). Μέσα στη συμβολοσειρά, μπορείτε να χρησιμοποιήσετε αγκύλες {} για να ενσωματώσετε μεταβλητές και εκφράσεις.
name = "Peter"
age = 25
formatted_string = f"My name is {name} and I am {age} years old."
print(formatted_string) # Output: My name is Peter and I am 25 years old.pythonΣε αυτό το παράδειγμα, βάζουμε τις μεταβλητές name και age σε αγκύλες στην συμβολοσειρά f{name} και {age}.
Πώς χρησιμοποιούνται οι συμβολοσειρές f της Python;
Οι χορδές F μπορούν να χρησιμοποιηθούν με διάφορους τρόπους.
Εκτέλεση υπολογισμών μέσα σε μια συμβολοσειρά
Οι συμβολοσειρές f της Python είναι ιδιαίτερα πρακτικές αν θέλετε να κάνετε αριθμητικούς υπολογισμούς μέσα σε μια συμβολοσειρά. Σας επιτρέπουν να ορίσετε μια σύνθετη έκφραση σε μια μόνο γραμμή κώδικα.
num1 = 10
num2 = 5
result = f"The sum of {num1} and {num2} is {num1 + num2}"
print(result) # Output: The sum of 10 and 5 is 15pythonΣε αυτό το παράδειγμα, num1 και num2 προστίθενται μέσα στην συμβολοσειρά f. Το αποτέλεσμα εμφανίζεται στην τελική έξοδο της συμβολοσειράς.
Python f-strings και raw strings
Ο συνδυασμός του r για τις ακατέργαστες συμβολοσειρές και f για τις συμβολοσειρές f δημιουργεί ένα ειδικό είδος συμβολοσειράς στην Python, γνωστό ως συμβολοσειρά rf. Με τις συμβολοσειρές rf, μπορείτε να συνδυάσετε τη λειτουργικότητα των ακατέργαστων συμβολοσειρών με την ευελιξία των συμβολοσειρών f. Οι συμβολοσειρές R ερμηνεύουν τις ακολουθίες διαφυγής κυριολεκτικά καιοι συμβολοσειρές f μπορούν να ενσωματώσουν απευθείας μεταβλητές και εκφράσεις σε μια συμβολοσειρά.
name = "User"
path = rf'C:\Users\Username\Documents\{name}\file.txt'
print(path) # Output: C:\Users\Username\Documents\User\file.txtpythonΣτον παραπάνω κώδικα, χρησιμοποιήσαμε μια συμβολοσειρά rf για να ορίσουμε μια διαδρομή. Χρησιμοποιήσαμε {name} στη συμβολοσειρά rf για να εισαγάγουμε απευθείας τη μεταβλητή name. Εν τω μεταξύ, το r πριν από τη συμβολοσειρά εξασφαλίζει ότι η κάθετος \ αντιμετωπίζεται ως κυριολεκτικός χαρακτήρας και όχι ως μέρος μιας ακολουθίας διαφυγής.
Ακρίβεια των κινητών αριθμών
Μπορείτε να χρησιμοποιήσετε ειδικές δηλώσεις μορφοποίησης για να καθορίσετε τον αριθμό των δεκαδικών ψηφίων σε έναν αριθμό κινητής υποδιαστολής σε μια συμβολοσειρά f.
value = 3.14159265359
formatted_value = f"Rounded value = {value:.3f}"
print(formatted_value) # Output: Rounded value = 3.142pythonΣτον παραπάνω κώδικα, η δήλωση μορφοποίησης :.3f υποδεικνύει ότι η μεταβλητή value πρέπει να στρογγυλοποιηθεί σε τρία δεκαδικά ψηφία και να εισαχθεί στη μορφοποιημένη συμβολοσειρά.
Πλάτος και ευθυγράμμιση
Στις συμβολοσειρές f της Python, οι προδιαγραφές πλάτους και ευθυγράμμισης σας επιτρέπουν να ελέγχετε τον τρόπο εμφάνισης των τιμών μέσα σε ένα πεδίο. Αυτό είναι χρήσιμο για την τοποθέτηση κειμένου και αριθμών σε μια συγκεκριμένη θέση και την ευθυγράμμισή τους αριστερά, δεξιά ή στο κέντρο.
Ας υποθέσουμε ότι έχουμε το όνομα __Alice__ και θέλουμε να το ευθυγραμμίσουμε δεξιά σε ένα πεδίο πλάτους 10 χαρακτήρων.
name = "Alice"
formatted_name = f"Hello, {name:>10}"
print(formatted_name) # Output: Hello, AlicepythonΔεδομένου ότι η τιμή έχει μήκος μικρότερο από 10 χαρακτήρες, {name:>10} θα την ευθυγραμμίσει δεξιά.
Συμπλήρωση με μηδενικά ή άλλους χαρακτήρες
Η συμπλήρωση με μηδενικά ή άλλους χαρακτήρες επηρεάζει την ευθυγράμμιση των αριθμών σε ένα πεδίο. Αυτό είναι χρήσιμο αν θέλετε οι αριθμοί να έχουν σταθερή μορφή, όπως όταν εμφανίζετε ώρες ή αριθμητικές τιμές.
number = 42
formatted_number = f"Number: {number:06}"
print(formatted_number) # Output: Number: 000042pythonΣε αυτό το παράδειγμα, :06 υποδηλώνει ότι ο αριθμός number θα εισαχθεί σε ένα πεδίο έξι ψηφίων και τα ψηφία που λείπουν θα συμπληρωθούν με μηδενικά μπροστά.
Μπορείτε επίσης να χρησιμοποιήσετε χαρακτήρες εκτός από μηδενικά για να συμπληρώσετε μια συμβολοσειρά:
word = "Python"
formatted_word = f"Word: {word:_<10}"
print(formatted_word) # Output: Word: Python____python