PYTHON ΜΑΘΗΜΑ 8 – How to Control Data Output In Python

 

Δωρεάν μαθήματα Python

INTRODUCTION

Μέχρι τώρα έχουμε δει πως να δείχνουμε μηνύματα στο terminal με την χρήση της print( ) function. Επίσης γνωρίζουμε πως κάθε εκτέλεση της print( ) τυπώνει μια καινούργια γραμμή σαν αποτέλεσμα. 

Υπάρχει τρόπος να εκτελούμε πολλαπλές print( ) functions αλλά το αποτέλεσμα να εμφανίζεται σε μια μόνο γραμμή? Στο σημερινό δωρεάν μάθημα Python θα δούμε πως μπορούμε να διαμορφώσουμε το αποτέλεσμα εκτέλεσης της print( ) function όπως εμείς επιθυμούμε.

CONCATENATION

Ξεκινάμε την ανάλυση μας από την βασική λειτουργία της print( ) function που είναι να τυπώνει το αποτέλεσμα σε μια καινούργια γραμμή σαν αποτέλεσμα.

app.py

print("Monday")
print("Tuesday")
print("Wednesday")
print("Thursday")
print("Friday")
print("Saturday")
print("Sunday")

Output

Αποτέλεσμα εκτέλεσης κώδικα Python

Κάθε μια από τις εκτελέσεις της print( ) function τυπώνει στο terminal το string μήνυμα που περιέχει και αμέσως μετά, αν και δεν είναι ορατό, τυπώνει ένα newline character. Αυτό έχει το ίδιο αποτέλεσμα σαν να πατάμε ENTER στο πληκτρολόγιο μετά το τέλος κάθε μηνύματος και να αλλάζετε γραμμή.

Τώρα αν κοιτάξουμε το documentation της print( ) function θα δούμε τον εξής ορισμό:


Δωρεάν μαθήματα Python

Αυτό σημαίνει ότι μέσα στην ίδια print( ) function μπορούμε να έχουμε πολλαπλά μηνύματα που μπορούμε να τυπώσουμε. Το κάθε μήνυμα χωρίζεται από το προηγούμενο με κόμμα.

app.py

print("Monday", "Tuesday", "Wednesday", "Thursday","Friday", "Saturday", "Sunday")

Output

Αποτέλεσμα εκτέλεσης κώδικα Python

Όταν έχουμε πολλαπλά μηνύματα μέσα στην ίδια print( ) function τότε μπορούμε να χρησιμοποιήσουμε το ( + ) σύμβολο για να ενώσουμε τα μηνύματα και επηρεάσουμε το τρόπο που εμφανίζεται το τελικό αποτέλεσμα. Για παράδειγμα να μεγαλώσουμε το κενό που υπάρχει ανάμεσα στα μηνύματα ή να προσθέσουμε ένα καινούργιο σύμβολο. Όταν έχουμε String μηνύματα και ανάμεσα τους υπάρχει το ( + ) σύμβολο, η Python δεν εκτελεί την πράξη της πρόσθεσης (άλλωστε δεν είναι δυνατόν αυτό) αλλά εκτελεί concatenation δηλαδή «κολλάει» το ένα μήνυμα δίπλα στο άλλο.

app.py

print("Monday" + " - " + "Tuesday" + " - " + "Wednesday" + " - " +
      "Thursday" + " - " + "Friday" + " - " + "Saturday"
      + " - " + "Sunday")

Output


Αποτέλεσμα εκτέλεσης κώδικα Python

THE END ARGUMENT

Αν κοιτάξουμε άλλη μια φορά τον ορισμό της print( ) function θα δούμε ότι μας προσφέρει και κάποιες άλλες επιλογές που μπορούμε να χρησιμοποιήσουμε. Αυτές οι επιλογές ενεργοποιούνται αν χρησιμοποιήσουμε τα ονόματα των arguments και περάσουμε σε αυτές δικές μας τιμές. Ένα από αυτά τα arguments είναι το end. Όταν καλούμε την print( ) function, με τον τρόπο που γνωρίζουμε μέχρι τώρα, η προκαθορισμένη (default) τιμή του end είναι το newline character δηλαδή μετά το τέλος εκτέλεσης του print( ) ο cursor μεταφέρεται στην αμέσως επόμενη τιμή.


Δωρεάν μαθήματα Python

Αν δεν επιθυμούμε αυτή την προκαθορισμένη συμπεριφορά, μπορούμε να ορίσουμε μια καινούργια τιμή για την end argument η οποία θα αντικαταστήσει την προκαθορισμένη τιμή του end. Στο παρακάτω παράδειγμα ορίζουμε σαν τιμή του end ένα κενό διάστημα.

app.py

print("Monday", end=' ')
print("Tuesday", end=' ')
print("Wednesday", end=' ')
print("Thursday", end=' ')
print("Friday", end=' ')
print("Saturday", end=' ')
print("Sunday", end=' ')

Output


Αποτέλεσμα εκτέλεσης κώδικα Python

Αν δεν αφήσουμε κενό ανάμεσα στα single quotes τότε ζητάμε να μην υπάρχει κενό ανάμεσα στις λέξεις οπότε θα κολλήσουν η μια δίπλα στην άλλη.

app.py

print("Monday", end='')
print("Tuesday", end='')
print("Wednesday", end='')
print("Thursday", end='')
print("Friday", end='')
print("Saturday", end='')
print("Sunday", end='')

Output


Αποτέλεσμα εκτέλεσης κώδικα Python

THE SEP ARGUMENT

Εκτός από το end υπάρχει και ένα επιπλέον argument το οποίο μπορούμε να χρησιμοποιήσουμε και να τροποποιήσουμε το αποτέλεσμα και αυτό είναι το sep argument. Το συγκεκριμένο argument καθορίζει πως θα χωρίζονται τα μηνύματα μεταξύ τους.


Δωρεάν μαθήματα Python

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

Στο παρακάτω παράδειγμα, ορίζουμε ότι το sep δεν θα αφήνει κενό ανάμεσα στα strings.

app.py

print("Monday", "Tuesday", "Wednesday", "Thursday",
      "Friday", "Saturday", "Sunday", sep='')

Output


Αποτέλεσμα εκτέλεσης κώδικα Python


Σε ένα άλλο παράδειγμα, αλλάζουμε την τιμή του sep για να αντικαταστήσουμε το κενό με ένα άλλο σύμβολο.

app.py

print("Monday", "Tuesday", "Wednesday", "Thursday",
      "Friday", "Saturday", "Sunday", sep=' * ')

Output


Αποτέλεσμα εκτέλεσης κώδικα Python

ESCAPE CHARACTERS

Μπορούμε επίσης να καθορίσουμε το πως εμφανίζονται τα μηνύματα στο terminal, χρησιμοποιώντας escape characters. Τα escape characters είναι ειδικοί χαρακτήρες που δεν εμφανίζονται στο output, αρχίζουν με το backslash σύμβολο ( \ ) και μετά ένα συγκεκριμένο χαρακτήρα από την λίστα που δείχνει ο παρακάτω πίνακας:


Δωρεάν μαθήματα Python

Στο παρακάτω απλό παράδειγμα θα χρησιμοποιήσουμε το \t για να αφήσουμε ένα tab διάστημα ανάμεσα στις ημέρες της εβδομάδας και το \n για να αλλάξουμε τη γραμμή τύπωσης του μηνύματος στο terminal.

app.py

print("Monday\t", "Tuesday\t", "Wednesday\n", "Thursday\t",
      "Friday\t", "Saturday\t", "Sunday")

Output


Αποτέλεσμα εκτέλεσης κώδικα Python

Το πόσο χρήσιμα είναι τα escape characters το διαπιστώνουμε καλύτερα όταν θέλουμε να ορίσουμε την τοποθεσία ενός αρχείου στον σκληρό μας δίσκο. Στο παρακάτω παράδειγμα χρησιμοποιούμε τα διπλά backslash σύμβολα ( \\ ) για αυτό το σκοπό.

app.py

print("You can find the log file at C:\\logs\\errors")

Output


Αποτέλεσμα εκτέλεσης κώδικα Python

Μην ξεχάσετε να κάνετε ένα μικρό donation έτσι ώστε αυτό το site να μεγαλώσει ακόμα πιο πολύ και να αποκτήσει περισσότερες δυνατότητες online παράδοσης δωρεάν μαθημάτων.

full-width


Post a Comment

0 Comments