ΕΝΟΤΗΤΑ 6 - How to Control Data Output in Python

Μέχρι τώρα έχουμε δει πως να εκτυπώνουμε μηνύματα στην οθόνη μας με την χρήση της print( ) function. Όμως θα θέλαμε να είχαμε λίγο καλύτερο έλεγχο στο τελικό αποτέλεσμα. Για παράδειγμα, στο πιο κάτω απλό πρόγραμμα, κάθε print( ) function εκτυπώνει στο αποτέλεσμα σε καινούργια γραμμή. Πως θα μπορούσαμε να κάνουμε αυτά τα πολλαπλά print functions να εμφανιστούν σε μια μόνο γραμμή? Στο σημερινό δωρεάν μάθημα Python θα δούμε πως μπορούμε να διαμορφώσουμε το αποτέλεσμα στην οθόνη μας.
App.py
print("Monday") print("Tuesday") print("Wednesday") print("Thursday") print("Friday") print("Saturday") print("Sunday")
Output
Monday Tuesday Wednesday Thursday Friday Saturday Sunday
Κάθε μία από τις print( ) functions εκτυπώνει στην οθόνη το string μήνυμα της και αμέσως μετά, αν και δεν είναι ορατό, εκτυπώνει ένα newline character. Αυτό έχει το ίδιο αποτέλεσμα σαν να πατάτε enter μετά το τέλος κάθε μηνύματος και να αλλάζετε γραμμή.
Αν δεν επιθυμούμε αυτή την συμπεριφορά της print function, μπορούμε να προσθέσουμε μια ειδική παράμετρο, που ονομάζεται end, μέσα στην print function όπως δείχνει το πιο κάτω παράδειγμα, που ακυρώνει την προθαροσμένη συμπεριφορά και την αντικαταστεί με το κενό που ορίζεται από το διάστημα που υπάρχει ανάμεσα στα 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
Monday Tuesday Wednesday Thursday Friday Saturday Sunday
Αν δεν αφήσουμε κενό ανάμεσα στα 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
MondayTuesdayWednesdayThursdayFridaySaturdaySunday
Όταν προσθέτουμε πολλαπλές παραμέτρους στην print( ) function προς εκτύπωση, αυτόματα προσθέτεται ένα κενό ανάμεσα στις τιμές που εμφανίζονται.
App.py
print('Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday')
Output
Monday Tuesday Wednesday Thursday Friday Saturday Sunday
Εάν δεν επιθυμούμε αυτή την προκαθορισμένη συμπεριφορά, τότε μπορούμε να την αναιρέσουμε προσθέτοντας την παράμετρο sep=’ ’. Η λογική είναι η ίδια όπως και με το end. Αν δεν αφήσουμε κενό ανάμεσα στα single quotes τότε το αποτέλεσμα θα είναι τιμές χωρίς κενό ανάμεσα τους.
App.py
print('Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday', sep='')
Output
MondayTuesdayWednesdayThursdayFridaySaturdaySunday
Ο κύριος λόγος όμως που ίσως χρειαστούμε το sep δεν είναι για να αναιρέσουμε το κενό αλλά να το αντικαταστήσουμε με κάποιο άλλο σύμβολο το οποίο ορίζουμε ανάμεσα στα single quotes.
App.py
print('Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday', sep=' * ')
Output
Monday * Tuesday * Wednesday * Thursday * Friday * Saturday * Sunday
Μπορούμε επίσης να καθορίσουμε το πως θα εμφανίζονται τα μηνύματα μας στην οθόνη, χρησιμοποιώντας escape characters. Τα escape characters είναι ειδικοί χαρακτήρες που δεν εμφανίζονται στο output, αρχίζουν με το backslash σύμβολο ( \ ) και μετά ένα συγκεκριμένο χαρακτήρα από την λίστα που δείχνει ο πιο κάτω πίνακας.
Στο πιο κάτω απλό παράδειγμα θα χρησιμοποιήσουμε το \t για να αφήνουμε ένα tab κενό ανάμεσα στις μέρες τις εβδομάδας, και το \n για να αλλάξουμε γραμμή εκτύπωσης. Παρατηρήστε το γεγονός ότι όλες οι μέρες της εβδομάδος είναι μέσα στο ίδιο string οπότε πρέπει να αναλάβουμε εμείς την ευθύνη να αφήσουμε τα κενά ανάμεσα στις λέξεις και να αλλάξουμε γραμμή εκτύπωσης.
App.py
print('Monday\t', 'Tuesday\t', 'Wednesday\n', 'Thursday\t', 'Friday\t', 'Saturday\t', 'Sunday')
Output
Monday Tuesday Wednesday Thursday Friday Saturday Sunday
Το πόσο χρήσιμα είναι τα escape characters το διαπιστώνουμε καλύτερα όταν θέλουμε να ορίσουμε την τοποθεσία ενός αρχείου στον σκληρό μας δίσκο. Στο παρακάτω παράδειγμα χρησιμοποιούμε τα διπλά \\ backslash σύμβολα για αυτό το σκοπό.
App.py
print("You can find the log file at C:\\logs\\errors")
Output
You can find the log file at C:\logs\errors
Τέλος, ας μην ξεχνάμε και την χρήση του + operator που το έχουμε ήδη χρησιμοποιήσει για να προσθέσουμε δύο αριθμούς. Όταν όμως είναι ανάμεσα σε δύο strings τότε αυτό που κάνει είναι να “κολλήσει” το ένα string δίπλα στο άλλο ή όπως αλλιώς το ονομάζουμε string concatenation. Το string concatenation είναι πολύ χρήσιμο όταν θέλουμε να χωρίσουμε τον κώδικα μας σε δύο ή και περισσότερες γραμμές για να χωράει στην οθόνη μας.
App.py
print("Monday Tuesday Wednesday " + "Thursday Friday Saturday Sunday")
Output
Monday Tuesday Wednesday Thursday Friday Saturday Sunday
ΕΙΣΗΓΗΤΗΣ
Μιχάλης Κασάπογλου
Ο Μιχάλης Κασάπογλου, είναι ένας από τους πιο έμπειρους τεχνικούς εκπαιδευτές στον χώρο του προγραμματισμού με πάνω από 20 χρόνια εμπειρία. Έχει εργαστεί σαν IT Operations Manager, Senior Programmer, και Training Team Leader ενώ κατέχει και αρκετές πιστοποιήσεις που καλύπτουν ένα μεγάλο φάσμα τεχνολογιών στο προγραμματισμό, σε βάσεις δεδομένων και cloud. Στον ελεύθερο του χρόνο διατηρεί ένα τεχνολογικό blog στο οποίο θα βρείτε αρκετά δωρεάν μαθήματα προγραμματισμού για αρχάριους.