# Τι είναι οι συμβολοσειρές 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`, ακολουθούμενο από μια συμβολοσειρά σε εισαγωγικά (“ ή ’). Μέσα στη συμβολοσειρά, μπορείτε να χρησιμοποιήσετε αγκύλες `{}` για να ενσωματώσετε μεταβλητές και εκφράσεις.

```python
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.
```

Σε αυτό το παράδειγμα, βάζουμε τις μεταβλητές `name` και `age` σε αγκύλες στην συμβολοσειρά f`{name}` και `{age}`.

## Πώς χρησιμοποιούνται οι συμβολοσειρές f της Python;

Οι χορδές F μπορούν να χρησιμοποιηθούν με διάφορους τρόπους.

### Εκτέλεση υπολογισμών μέσα σε μια συμβολοσειρά

Οι συμβολοσειρές f της Python είναι ιδιαίτερα πρακτικές αν θέλετε να κάνετε **αριθμητικούς υπολογισμούς** μέσα σε μια συμβολοσειρά. Σας επιτρέπουν να ορίσετε μια σύνθετη έκφραση σε μια μόνο γραμμή κώδικα.

```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 15
```

Σε αυτό το παράδειγμα, `num1` και `num2` προστίθενται μέσα στην συμβολοσειρά f. Το αποτέλεσμα εμφανίζεται στην τελική έξοδο της συμβολοσειράς.

### Python f-strings και raw strings

Ο συνδυασμός του `r` για τις ακατέργαστες συμβολοσειρές και `f` για τις συμβολοσειρές f δημιουργεί ένα ειδικό είδος συμβολοσειράς στην Python, γνωστό ως συμβολοσειρά rf. Με τις συμβολοσειρές rf, μπορείτε να συνδυάσετε τη λειτουργικότητα των ακατέργαστων συμβολοσειρών με την ευελιξία των συμβολοσειρών f. Οι συμβολοσειρές R **ερμηνεύουν τις ακολουθίες διαφυγής κυριολεκτικά και**οι συμβολοσειρές f μπορούν να ενσωματώσουν απευθείας μεταβλητές και εκφράσεις σε μια συμβολοσειρά.

```python
name = "User"
path = rf'C:\Users\Username\Documents\{name}\file.txt'
print(path) # Output: C:\Users\Username\Documents\User\file.txt
```

Στον παραπάνω κώδικα, χρησιμοποιήσαμε μια συμβολοσειρά rf για να ορίσουμε μια διαδρομή. Χρησιμοποιήσαμε `{name}` στη συμβολοσειρά rf για να εισαγάγουμε απευθείας τη μεταβλητή `name`. Εν τω μεταξύ, το `r` πριν από τη συμβολοσειρά εξασφαλίζει ότι η **κάθετος** `\` αντιμετωπίζεται ως κυριολεκτικός χαρακτήρας και όχι ως μέρος μιας ακολουθίας διαφυγής.

### Ακρίβεια των κινητών αριθμών

Μπορείτε να χρησιμοποιήσετε ειδικές **δηλώσεις μορφοποίησης** για να καθορίσετε τον αριθμό των δεκαδικών ψηφίων σε έναν αριθμό κινητής υποδιαστολής σε μια συμβολοσειρά f.

```python
value = 3.14159265359
formatted_value = f"Rounded value = {value:.3f}"
print(formatted_value) # Output: Rounded value = 3.142
```

Στον παραπάνω κώδικα, η δήλωση μορφοποίησης `:.3f` υποδεικνύει ότι η μεταβλητή `value` πρέπει να στρογγυλοποιηθεί σε τρία δεκαδικά ψηφία και να εισαχθεί στη μορφοποιημένη συμβολοσειρά.

### Πλάτος και ευθυγράμμιση

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

Ας υποθέσουμε ότι έχουμε το όνομα `__Alice__` και θέλουμε να το ευθυγραμμίσουμε δεξιά σε ένα πεδίο πλάτους 10 χαρακτήρων.

```python
name = "Alice"
formatted_name = f"Hello, {name:>10}"
print(formatted_name) # Output: Hello,      Alice
```

Δεδομένου ότι η τιμή έχει μήκος μικρότερο από 10 χαρακτήρες, `{name:>10}` θα την ευθυγραμμίσει δεξιά.

### Συμπλήρωση με μηδενικά ή άλλους χαρακτήρες

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

```python
number = 42
formatted_number = f"Number: {number:06}"
print(formatted_number) # Output: Number: 000042
```

Σε αυτό το παράδειγμα, `:06` υποδηλώνει ότι ο αριθμός `number` θα εισαχθεί σε ένα πεδίο έξι ψηφίων και τα ψηφία που λείπουν θα συμπληρωθούν με μηδενικά μπροστά.

Μπορείτε επίσης να χρησιμοποιήσετε χαρακτήρες εκτός από μηδενικά για να συμπληρώσετε μια συμβολοσειρά:

```python
word = "Python"
formatted_word = f"Word: {word:_<10}"
print(formatted_word) # Output: Word: Python____
```


This is a markdown version of: [https://www.ionos.com/el-gr/digitalguide/istoselides/anaptyxi-istoselidon/python-f-strings/](https://www.ionos.com/el-gr/digitalguide/istoselides/anaptyxi-istoselidon/python-f-strings/) for AI/LLM consumption.