Το πρώτο σου πρόγραμμα σε Python

Το «hello, world» έγινε γνωστό το 1978 από ένα βιβλίο για τη γλώσσα C και έμεινε το πρώτο πρόγραμμα σχεδόν κάθε γλώσσας. Είναι το μικρότερο πρόγραμμα που δείχνει ότι μπορείς να γράψεις κάτι, να το τρέξεις και να δεις αποτέλεσμα.
Το δικό σου είναι μία γραμμή. Πάτα Τρέξε. Μετά άλλαξε το κείμενο μέσα στα εισαγωγικά σε κάτι δικό σου, για παράδειγμα το όνομά σου, και τρέξε το ξανά.
python

Τι ακριβώς έγραψες

Η γραμμή έχει τρία κομμάτια.
Το print είναι μια έτοιμη οδηγία της Python. Ο ακριβής όρος είναι συνάρτηση. Προς το παρόν κράτα μόνο ότι το print γράφει στην οθόνη ό,τι του δώσεις.
Στις παρενθέσεις βάζεις αυτό που θέλεις να τυπώσει το print. Αν τις ξεχάσεις, η Python σταματάει με σφάλμα.
Τα εισαγωγικά λένε «αυτό είναι κείμενο, τύπωσέ το όπως είναι». Κείμενο σε εισαγωγικά λέγεται string. Η Python δεν κοιτάει τι γράφει μέσα ούτε αν έχει νόημα, οπότε μπορείς να βάλεις και ελληνικά.
Δες δύο γραμμές που διαφέρουν μόνο στα εισαγωγικά.
Πρόβλεψε
print("2 + 3")
print(2 + 3)

Τι θα εμφανιστεί στην οθόνη;

Διάλεξε μία

Από πάνω προς τα κάτω

Η Python εκτελεί ένα πρόγραμμα μία γραμμή τη φορά, από την πρώτη προς την τελευταία. Η δεύτερη γραμμή δεν ξεκινάει πριν τελειώσει εντελώς η πρώτη.
Το πρόγραμμα τρέχει από πάνω προς τα κάτω Τρεις γραμμές κώδικα αριθμημένες 1 έως 3: print Καλημέρα, print Τι κάνεις, print 2 + 3. Η Python τις εκτελεί με τη σειρά και η καθεμία τυπώνει μία γραμμή στην οθόνη: Καλημέρα, Τι κάνεις;, 5. Ο ΚΩΔΙΚΑΣ Η ΟΘΟΝΗ τυπώνει 1 print("Καλημέρα") Καλημέρα 2 print("Τι κάνεις;") Τι κάνεις; 3 print(2 + 3) 5 Η γραμμή 2 δεν ξεκινάει πριν τελειώσει η 1.
Κάθε print τυπώνει σε καινούργια γραμμή, κάτω από την προηγούμενη. Δε σβήνει και δεν αντικαθιστά τίποτα. Η οθόνη μαζεύει ό,τι έχει τυπωθεί μέχρι εκείνη τη στιγμή, με τη σειρά.
Ένα print μπορεί να πάρει και πολλές τιμές μαζί, χωρισμένες με κόμμα. Τις τυπώνει στην ίδια γραμμή με ένα κενό ανάμεσα, όπως σε αυτή την απόδειξη από το κυλικείο του σχολείου:
python
Τρέξε την. Θα δεις 2.5 και 1.8, όχι 2.50 και 1.80: το μηδέν στο τέλος ενός δεκαδικού δεν αλλάζει την τιμή, οπότε η Python δεν το κρατάει. Τώρα πρόσθεσε μια τρίτη γραμμή που τυπώνει τη λέξη Σύνολο: και δίπλα το άθροισμα. Άφησε την Python να κάνει την πρόσθεση.
Αν έγραψες print("Σύνολο:", 2.50 + 1.80), πήρες Σύνολο: 4.3. Αν έγραψες print("Σύνολο:", 4.30), το αποτέλεσμα είναι ίδιο, αλλά την πρόσθεση την έκανες εσύ. Την επόμενη φορά που θα αλλάξει μια τιμή θα πρέπει να την ξανακάνεις.

Όταν μια γραμμή έχει λάθος

Τι γίνεται αν η τρίτη από τέσσερις γραμμές έχει πρόβλημα; Εδώ στην τρίτη γραμμή λείπουν τα εισαγωγικά γύρω από τη λέξη Ελλάδα. Προχώρα βήμα βήμα.
Βήμα προς βήμα
Βήμα 1 από 4
print("Καλημέρα")
print("Τι κάνεις;")
print(Ελλάδα)
print("Τέλος")
Μεταβλητές

Καμία μεταβλητή ακόμα.

Η Python ξεκινάει από την πρώτη γραμμή. Στην οθόνη εμφανίζεται: Καλημέρα.

Το ίδιο, σαν ανταλλαγή ανάμεσα σε σένα, την Python και την οθόνη:
Τι συμβαίνει όταν πατάς Τρέξε Διάγραμμα ακολουθίας με τρεις συμμετέχοντες: εσύ, η Python, η οθόνη. Εσύ λες στην Python να τρέξει το πρόγραμμα. Η Python στέλνει στην οθόνη τη γραμμή 1, Καλημέρα, μετά τη γραμμή 2, Τι κάνεις;. Στη γραμμή 3 βρίσκει σφάλμα NameError, το δείχνει στην οθόνη και σταματάει. Η γραμμή 4 δεν τρέχει. Τρέξε γραμμή 1: Καλημέρα γραμμή 2: Τι κάνεις; γραμμή 3: NameError Η γραμμή 4 δεν τρέχει. Εσύ Python Οθόνη
Η τελευταία γραμμή του μηνύματος σφάλματος είναι αυτή:
text
NameError: name 'Ελλάδα' is not defined
Το διαβάζεις κυριολεκτικά: «το όνομα Ελλάδα δεν έχει οριστεί». Η Python δε σου λέει ότι ξέχασες τα εισαγωγικά, γιατί δεν ξέρει τι ήθελες. Περιγράφει αυτό που βρήκε. Εσύ πρέπει να το μεταφράσεις σε «τι έκανα λάθος». Αυτή η μετάφραση γίνεται εύκολη με την εξάσκηση.
Υπάρχει και ένα είδος λάθους που συμπεριφέρεται αλλιώς. Αν λείπει μια παρένθεση ή ένα εισαγωγικό, η Python δεν τρέχει ούτε την πρώτη γραμμή. Πριν εκτελέσει οτιδήποτε, διαβάζει όλο το πρόγραμμα για να ελέγξει αν είναι σωστά γραμμένο. Αν δεν είναι, σταματάει με SyntaxError και η οθόνη μένει άδεια, ακόμα κι αν το λάθος είναι στην τελευταία γραμμή. Στο σχολικό βιβλίο αυτό λέγεται συντακτικό λάθος.
Άρα δύο είδη λαθών: το πρόγραμμα είναι γραμμένο λάθος και δεν ξεκινάει καθόλου, ή είναι γραμμένο σωστά και κάτι πάει στραβά την ώρα που τρέχει, οπότε σταματάει στη γραμμή του προβλήματος.

Εισαγωγικά που δεν είναι εισαγωγικά

Το παρακάτω πρόγραμμα είναι σκόπιμα χαλασμένο. Τρέξε το, διάβασε το μήνυμα και διόρθωσέ το.
python
Το μήνυμα λέει invalid character '«'. Τα «» είναι σωστά εισαγωγικά στο ελληνικό κείμενο, αλλά στον κώδικα η Python δέχεται μόνο τα απλά " ή '. Πρόσεξε επίσης ότι δεν τυπώθηκε ούτε το Καλημέρα της πρώτης γραμμής, γιατί είναι SyntaxError.
Υπάρχει και δεύτερη εκδοχή του ίδιου λάθους. Όταν αντιγράφεις κώδικα από ένα έγγραφο Word ή από μήνυμα στο κινητό, τα απλά " έχουν συχνά γίνει αυτόματα καμπύλα τυπογραφικά εισαγωγικά. Στην οθόνη μοιάζουν σχεδόν ίδια, αλλά η Python τα απορρίπτει με invalid character και τον κωδικό U+201C. Η λύση είναι η ίδια: σβήσε τα και γράψ' τα ξανά από το πληκτρολόγιο.
Δύο λάθη που θα κάνεις πιθανότατα την πρώτη μέρα:
  • Print("Γεια") με κεφαλαίο P δίνει NameError: name 'Print' is not defined. Did you mean: 'print'?. Η Python ξεχωρίζει τα κεφαλαία από τα μικρά, οπότε το Print είναι άλλο όνομα. Πρόσεξε ότι σου προτείνει και τη διόρθωση.
  • print("Γεια" χωρίς την παρένθεση στο τέλος δίνει SyntaxError: '(' was never closed. Κάθε παρένθεση που ανοίγει πρέπει να κλείνει.
Διάβαζε το μήνυμα σφάλματος μέχρι την τελευταία γραμμή. Εκεί λέει τι είδους πρόβλημα βρήκε και συχνά πώς να το διορθώσεις.

Το print δεν αποθηκεύει τίποτα

Το print γράφει χαρακτήρες σε μια οθόνη για να τους διαβάσει ένας άνθρωπος. Αυτό που τύπωσε δεν το θυμάται το πρόγραμμα και δεν μπορεί να το ξαναδιαβάσει. Αν τυπώσεις Σύνολο: 4.3, το 4.3 δεν είναι αποθηκευμένο πουθενά για να το χρησιμοποιήσει η επόμενη γραμμή.
Αν σβήσεις τη γραμμή print("Σύνολο:", 2.50 + 1.80) από την απόδειξη, το πρόγραμμα θα τρέξει χωρίς κανένα σφάλμα και απλώς δε θα δεις το σύνολο. Η διαφορά ανάμεσα σε αυτό που βλέπεις στην οθόνη και σε αυτό που κρατάει το πρόγραμμα μπερδεύει πολλούς αρχάριους για μήνες.

Σύνοψη

  • Το πρώτο πρόγραμμα είναι μία γραμμή: print("Γεια σου, κόσμε"). Το print γράφει στην οθόνη ό,τι βάλεις στις παρενθέσεις.
  • Με εισαγωγικά είναι κείμενο, ένα string, και τυπώνεται όπως είναι. Χωρίς εισαγωγικά η Python το διαβάζει σαν κώδικα: το 2 + 3 γίνεται 5 και μια σκέτη λέξη γίνεται όνομα που ψάχνει.
  • Το πρόγραμμα εκτελείται μία γραμμή τη φορά, από πάνω προς τα κάτω. Κάθε print τυπώνει σε νέα γραμμή κάτω από την προηγούμενη.
  • Ένα λάθος την ώρα που τρέχει το πρόγραμμα, όπως το NameError, το σταματάει σε εκείνη τη γραμμή. Όσα τυπώθηκαν πριν μένουν, όσα ακολουθούν δεν εκτελούνται.
  • Ένα SyntaxError σημαίνει ότι το πρόγραμμα είναι γραμμένο λάθος. Τότε δεν εκτελείται καμία γραμμή.
  • Στον κώδικα μπαίνουν μόνο τα απλά εισαγωγικά " και ', όχι τα «» ούτε τα καμπύλα εισαγωγικά του Word. Τα κεφαλαία μετράνε: το Print δεν είναι το print.
  • Το print είναι για τα μάτια σου. Ό,τι τυπώνεται δεν το κρατάει το πρόγραμμα.

Θες να συνεχίσεις;

Το course είναι δωρεάν. Κάνε σύνδεση για να κρατάς την πρόοδο και τις σημειώσεις σου.