Mastering f-strings στην Python


Ανακαλύψτε πώς να αξιοποιήσετε τις συμβολοσειρές f της Python (formatted string literals) για να γράψετε πιο καθαρό, πιο αποτελεσματικό και πιο ευανάγνωστο κώδικα.

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

Ενώ πολλοί προγραμματιστές κατανοούν τα βασικά, αυτός ο οδηγός εξερευνά προηγμένες τεχνικές f-string που μπορούν να βελτιώσουν την ποιότητα και την αποτελεσματικότητα του κώδικα. Θα καλύψουμε την ενσωμάτωση εκφράσεων, τη μορφοποίηση αριθμών, τη στοίχιση κειμένου, τη χρήση λεξικών και τις συμβολοσειρές f πολλών γραμμών.

1. Βασική χρήση

Για να δημιουργήσετε μια συμβολοσειρά f, απλά προσθέτετε το πρόθεμα της συμβολοσειράς με το γράμμα f ή F. Μέσα στη συμβολοσειρά, μπορείτε να συμπεριλάβετε μεταβλητές και εκφράσεις σε σγουρές αγκύλες {}.

Προσθέσαμε δύο τιμαλφή. το ένα είναι μια συμβολοσειρά και το ένα είναι ένα int. 

name = "Abid"
age = 33
print(f"Hello, my name is {name} and I am {age} years old.")

Έξοδος:

Hello, my name is Abid and I am 33 years old.

2. Ενσωμάτωση εκφράσεων

Οι συμβολοσειρές F μπορούν να αξιολογήσουν εκφράσεις απευθείας μέσα στις σγουρές αγκύλες. Μπορείτε ακόμη και να εκτελέσετε οποιονδήποτε υπολογισμό μέσα στις σγουρές αγκύλες και θα λειτουργήσει. 

a = 6
b = 14
print(f"The sum of {a} and {b} is {a + b}.")

Έξοδος:

The sum of 6 and 14 is 20.

Μπορείτε επίσης να καλέσετε συναρτήσεις Python μέσα στις αγκύλες.

def get_greeting(name):
    return f"Hello, {name}!"

print(f"{get_greeting('Abid')}")

Έξοδος:

Hello, Abid!

3. Μορφοποίηση αριθμών

Οι συμβολοσειρές F υποστηρίζουν επιλογές μορφοποίησης αριθμών, οι οποίες μπορεί να είναι πολύ χρήσιμες για τον έλεγχο της εμφάνισης αριθμητικών τιμών. Αντί να γράφετε πολλές γραμμές κώδικα για να μορφοποιήσετε τους αριθμούς με μη αυτόματο τρόπο, μπορείτε να χρησιμοποιήσετε συμβολοσειρές f για να απλοποιήσετε τη διαδικασία. 

Για παράδειγμα, θα εμφανίσουμε τη κινητή μεταβλητή που ονομάζεται «αναλογία_κόστους» με τρία δεκαδικά ψηφία. 

cost_ratio = 6.5789457766
print(f"Cost ratio rounded to 3 decimal places: {cost_ratio:.3f}")

Έξοδος:

Cost ratio rounded to 3 decimal places: 6.579

Προσθέστε χίλια διαχωριστικά σε μια μεγάλη σειρά αριθμών. 

house_cost = 8930000

print(f"Formatted number: {house_cost:,}")

Έξοδος:

Formatted number: 8,930,000

Για να μορφοποιήσετε έναν αριθμό ως ποσοστό, χρησιμοποιήστε το σύμβολο %.

percentage = 0.25

print(f"Percentage: {percentage:.2%}")

Έξοδος:

Percentage: 25.00%

4. Στοίχιση κειμένου

Οι συμβολοσειρές F σάς επιτρέπουν να στοιχίσετε κείμενο προς τα αριστερά, δεξιά ή στο κέντρο χρησιμοποιώντας <, > και ^αντίστοιχα. Μπορείτε επίσης να καθορίσετε ένα πλάτος για τη στοίχιση όπως φαίνεται παρακάτω. 

id = "Id"
name = "Name"
add = "Address"
formatted_name = f"|{id:<10}|{name:>10}|{add:^10}|"
print(formatted_name)

Έξοδος:

|Id        |      Name| Address  |

5. Συμβολοσειρές F με Λεξικά

Οι χορδές F μπορούν να λειτουργήσουν απρόσκοπτα με λεξικά. Θα έχουμε πρόσβαση στα πλήκτρα του λεξικού μέσα στα σγουρά σιδεράκια.

person = {"name": "Abid", "age": 33}

print(f"Name: {person['name']}, Age: {person['age']}")

Έξοδος:

Name: Abid, Age: 33

6. Πολυγραμμές F-strings

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

name = "Abid"
age = 33
multiline_string = f"""
Name: {name}
Age: {age}
"""
print(multiline_string)

Έξοδος:

Name: Abid
Age: 33

Τελικές Σκέψεις

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