Python

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

image description

Μέχρι τώρα έχουμε δει πως να εκτυπώνουμε μηνύματα στην οθόνη μας με την χρήση της 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  σύμβολο ( \ ) και μετά ένα συγκεκριμένο χαρακτήρα από την λίστα που δείχνει ο πιο κάτω πίνακας.

Δωρεάν Μαθήματα και Σεμινάρια PYTHON

Στο πιο κάτω απλό παράδειγμα θα χρησιμοποιήσουμε το \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
   

ΕΙΣΗΓΗΤΗΣ

Merry Jhonson

Μιχάλης Κασάπογλου

Ο Μιχάλης Κασάπογλου, είναι ένας από τους πιο έμπειρους τεχνικούς εκπαιδευτές στον χώρο του προγραμματισμού με πάνω από 20 χρόνια εμπειρία. Έχει εργαστεί σαν IT Operations Manager, Senior Programmer, και Training Team Leader ενώ κατέχει και αρκετές πιστοποιήσεις που καλύπτουν ένα μεγάλο φάσμα τεχνολογιών στο προγραμματισμό, σε βάσεις δεδομένων και cloud. Στον ελεύθερο του χρόνο διατηρεί ένα τεχνολογικό blog στο οποίο θα βρείτε αρκετά δωρεάν μαθήματα προγραμματισμού για αρχάριους.

loader