Python: f-strings


nc
Δημοσίευση: • Share Article:

Οι συμβολοσειρές f-strings της Python παρέχουν έναν πιο ευανάγνωστο τρόπο μορφοποίησης strings από την παραδοσιακή μορφοποίηση. Διαθέτουν πλούσια χαρακτηριστικά που σίγουρα θα σας φανούν χρήσιμα στην καθημερινή χρήση. Ας ρίξουμε μια ματιά σε μερικά από αυτά.

String Interpolation
Το πιο χρησιμοποιούμενο χαρακτηριστικό της συμβολοσειράς f είναι το string interpolation, δηλαδή η παρεμβολή ενός string. Το μόνο που χρειάζεται να κάνετε είναι να τοποθετήσετε τη μεταβλητή σε αγκύλες {} και είστε έτοιμοι.


str_val = 'cars'
num_val = 42

print(f'{num_val} {str_val}') # 42 cars

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


str_val = 'cars'
num_val = 42

print(f'{str_val=}, {num_val = }') # str_val='cars', num_val = 42

Μαθηματικές πράξεις
Σε αντίθεση με τα ονόματα μεταβλητών, μπορείτε επίσης να εκτελέσετε μαθηματικές πράξεις σε συμβολοσειρές f. Μπορείτε να τοποθετήσετε τη μαθηματική έκφραση μέσα στις αγκύλες και αν προσθέσετε ένα σύμβολο ισότητας = , θα λάβετε την έκφραση και το αποτέλεσμά της.


num_val = 42

print(f'{num_val % 2 = }') # num_val % 2 = 0

Εκτυπώσιμη αναπαράσταση
Εκτός από την απλή παρεμβολή συμβολοσειρών, ίσως θέλετε να λάβετε την εκτυπώσιμη αναπαράσταση μιας τιμής. Αυτό είναι ήδη εύκολο να επιτευχθεί χρησιμοποιώντας τη function repr() . Οι συμβολοσειρές f παρέχουν μια πολύ πιο σύντομη σύνταξη προσθέτοντας ένα !rστο εσωτερικό των αγκύλων.


str_val = 'cars'

print(f'{str_val!r}') # 'cars'

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


price_val = 15.49333

print(f'{price_val:.2f}') # 15.5

Μορφοποίηση ημερομηνίας
Τέλος, οι ημερομηνίες μπορούν επίσης να μορφοποιηθούν με τον ίδιο τρόπο όπως οι αριθμοί, χρησιμοποιώντας προσδιοριστές μορφής. Ως συνήθως, το %Y δηλώνει ολόκληρο το έτος, το %m είναι ο μήνας και το %d είναι η ημέρα του μήνα.


from datetime import datetime;
date_val = datetime.utcnow()
print(f'{date_val=:%Y-%m-%d}') # date_val=2021-07-09

Foreach programming

Εγγραφείτε για να βλέπετε τα εξειδικευμένα άρθρα.