Διάλεξη 12 — Εισαγωγή στην Python
Τα πρώτα βήματα στη γλώσσα Python

🐍 Κεφάλαιο 12: Εισαγωγή στην Python

Τι είναι η Python • Εγκατάσταση • print() • Μεταβλητές

12.1 Τι είναι η Python

Η Python είναι μια γλώσσα προγραμματισμού, όπως και η C. Ωστόσο, έχει σχεδιαστεί ώστε να είναι πολύ απλή στην εκμάθηση και να μοιάζει σχεδόν με «κανονικά» αγγλικά.

Δημιουργήθηκε από τον Guido van Rossum το 1991 και πήρε το όνομά της από την κωμική σειρά «Monty Python's Flying Circus» (όχι από το φίδι, αν και το λογότυπό της έχει δύο φίδια).

💡 Απλή ιδέα: Σκεφτείτε την Python σαν την «εύκολη ξαδέρφη» της C. Λύνει τα ίδια προβλήματα, αλλά με λιγότερες γραμμές κώδικα και χωρίς πολλά από τα τεχνικά «δύσκολα» της C.

12.1.1 Δύο κόσμοι: μεταγλώττιση vs ερμηνεία

Η C είναι μεταγλωττιζόμενη γλώσσα. Δηλαδή, ένα ειδικό πρόγραμμα (ο μεταγλωττιστής) διαβάζει όλο τον κώδικά μας και τον μετατρέπει σε εκτελέσιμο αρχείο, που μετά τρέχει.

Η Python είναι διερμηνευόμενη γλώσσα. Δηλαδή, ένα πρόγραμμα (ο διερμηνέας) διαβάζει τον κώδικά μας γραμμή-γραμμή και τον εκτελεί αμέσως, χωρίς ενδιάμεσο εκτελέσιμο.

CPython
Τρόπος εκτέλεσηςΜεταγλώττιση → εκτελέσιμοΆμεση εκτέλεση από διερμηνέα
ΤαχύτηταΠολύ γρήγορηΠιο αργή
ΕκμάθησηΠιο απαιτητικήΠιο εύκολη
Γραμμές κώδικαΠερισσότερεςΛιγότερες
Τυπική χρήσηΣυστήματα, ενσωματωμένος προγραμματισμόςWeb, data science, αυτοματισμοί, AI

12.2 Γιατί να μάθουμε Python

Η Python σήμερα είναι μία από τις πιο δημοφιλείς γλώσσες παγκοσμίως, επειδή:

12.2.1 Σύγκριση: «Γεια σου, κόσμε!» σε C και Python

Ας δούμε το ίδιο πρόγραμμα στις δύο γλώσσες:

Σε C:

#include <stdio.h> int main(void) { printf("Γεια σου, κόσμε!\n"); return 0; }

Σε Python:

print("Γεια σου, κόσμε!")
✅ Παρατήρηση: Στην Python χρειαζόμαστε μία γραμμή. Χωρίς #include, χωρίς main, χωρίς return, χωρίς ερωτηματικό.

12.2.2 Στοίχιση (indentation) αντί για αγκύλες

Στην Python, οι εντολές που ανήκουν μαζί ομαδοποιούνται με στοίχιση (indentation) και όχι με αγκύλες { } όπως στη C ή στη Java.

Στην Python

Παράδειγμα:

if x > 0: print("Θετικός") print("Ακόμα μέσα στο if") print("Έξω από το if")

Οι δύο εντολές:

print("Θετικός") print("Ακόμα μέσα στο if")

είναι στοιχισμένες πιο μέσα, άρα ανήκουν στο if.

Η τελευταία:

print("Έξω από το if")

δεν έχει στοίχιση, άρα είναι έξω από το if.

Στη C αντίθετα

Στην C programming language χρειάζονται αγκύλες:

if (x > 0) { printf("Θετικός"); printf("Ακόμα μέσα στο if"); } printf("Έξω από το if");

Οι { } δείχνουν ποιες εντολές ανήκουν μαζί.

Γιατί η Python το κάνει έτσι;

Η Python θέλει ο κώδικας να είναι:

Γι' αυτό η στοίχιση δεν είναι απλώς εμφάνιση — έχει σημασία για το πρόγραμμα.

⚠️ Πολύ σημαντικό:

Στην Python αυτό είναι λάθος:

if x > 0: print("Hello")

γιατί λείπει η στοίχιση. Πρέπει:

if x > 0: print("Hello")

Κανόνας

📏 Στην Python:
  • οι εντολές του ίδιου block πρέπει να έχουν ακριβώς την ίδια στοίχιση
  • συνήθως χρησιμοποιούμε 4 κενά
if x > 0: print("1") print("2") print("3")

✔ σωστό

if x > 0: print("1") print("2")

❌ λάθος (διαφορετικά κενά)

🐍 Άρα:
  • Στην Python:
    • η στοίχιση καθορίζει τα blocks
    • δεν χρειάζονται { }
  • Στη C:
    • τα blocks μπαίνουν μέσα σε { }

12.3 Εγκατάσταση Python

Για να γράφουμε και να τρέχουμε προγράμματα Python στον υπολογιστή μας, χρειαζόμαστε δύο πράγματα:

  1. Τον διερμηνέα της Python (το πρόγραμμα που εκτελεί τον κώδικά μας).
  2. Έναν επεξεργαστή κειμένου ή IDE για να γράφουμε τον κώδικά μας.

12.3.1 Βήμα 1: Εγκατάσταση του διερμηνέα

  1. Πηγαίνουμε στο https://www.python.org
  2. Κατεβάζουμε την τελευταία έκδοση (κουμπί Downloads).
  3. Τρέχουμε το αρχείο εγκατάστασης.
  4. Πολύ σημαντικό: στα Windows, επιλέγουμε το checkbox «Add Python to PATH» πριν πατήσουμε Install.
⚠️ Προσοχή στο PATH: Αν ξεχάσουμε το «Add Python to PATH», η Python θα εγκατασταθεί κανονικά, αλλά δεν θα μπορούμε να την καλούμε από το command line με την εντολή python. Καλύτερα να ξανατρέξουμε το installer και να το διορθώσουμε.

12.3.2 Βήμα 2: Έλεγχος εγκατάστασης

Ανοίγουμε ένα τερματικό (Command Prompt στα Windows, Terminal σε macOS/Linux) και γράφουμε:

python --version

Αν δούμε κάτι σαν Python 3.12.0, η εγκατάσταση πέτυχε.

12.3.3 Βήμα 3: Πρόγραμμα συγγραφής κώδικα

Μπορούμε να γράψουμε κώδικα Python σε:

💡 Πρόταση: Για τα πρώτα μας προγράμματα, αρκεί το IDLE ή το Thonny. Είναι απλά, χωρίς πολλές επιλογές, και μπορούμε να τρέξουμε ένα πρόγραμμα με ένα κλικ.

12.4 Το πρώτο μας πρόγραμμα

Ας γράψουμε το πρώτο μας πρόγραμμα στην Python. Ανοίγουμε το IDLE (ή τον επεξεργαστή της προτίμησής μας), και πληκτρολογούμε:

print("Γεια σου, κόσμε!")

Αποθηκεύουμε το αρχείο με όνομα hello.py (η κατάληξη .py δηλώνει ότι είναι αρχείο Python) και το τρέχουμε. Θα δούμε:

Γεια σου, κόσμε!

12.4.1 Παρατηρήσεις στο πρώτο μας πρόγραμμα

12.4.2 Σχόλια στην Python

Όπως και στη C, μπορούμε να γράψουμε σχόλια — κείμενο που αγνοεί ο διερμηνέας. Στην Python χρησιμοποιούμε τον χαρακτήρα #:

# Αυτό είναι ένα σχόλιο print("Καλημέρα!") # και αυτό
📝 Σύγκριση με C: Στη C γράφουμε // ή /* ... */. Στην Python μόνο #.

12.5 Η built-in συνάρτηση print()

Η print() είναι η αντίστοιχη της printf της C: εμφανίζει κείμενο στην οθόνη.

Πιο τεχνικά, η print() είναι μια ενσωματωμένη συνάρτηση (built-in function) της Python. Αυτό σημαίνει ότι υπάρχει «έτοιμη» μέσα στη γλώσσα — δεν χρειάζεται να την εισάγουμε από κάπου, όπως κάναμε στη C με το #include <stdio.h> για την printf.

🐍 Γιατί λέμε «συνάρτηση» και όχι «εντολή»;

Σε παλιότερα εγχειρίδια ή πρόχειρα κείμενα θα δείτε την print να αναφέρεται ως «εντολή». Αυτό ίσχυε στην Python 2, όπου γράφαμε print "hello" χωρίς παρενθέσεις. Από την Python 3 και μετά, όμως, η print() είναι επίσημα συνάρτηση, για τους εξής λόγους:

  • Καλείται με παρενθέσεις: print(...) — όπως κάθε συνάρτηση.
  • Δέχεται ορίσματα μέσα στις παρενθέσεις.
  • Επιστρέφει τιμή (την ειδική τιμή None, αλλά επιστρέφει).
  • Μπορεί να ανατεθεί σε μεταβλητή ή να περαστεί ως όρισμα σε άλλη συνάρτηση, όπως ακριβώς κάθε άλλη συνάρτηση.

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

12.5.1 Σύνταξη της print()

Για να καλέσουμε την print(), γράφουμε το όνομά της, ανοίγουμε παρενθέσεις, βάζουμε μέσα αυτό που θέλουμε να εμφανίσει και κλείνουμε τις παρενθέσεις:

print(όρισμα)

Δηλαδή τα τρία βασικά μέρη της κλήσης είναι:

  1. Το όνομα της συνάρτησης: print
  2. Οι παρενθέσεις ( ) — χωρίς αυτές, η Python δεν εκτελεί τη συνάρτηση.
  3. Το όρισμα (ή τα ορίσματα) μέσα στις παρενθέσεις — ό,τι θέλουμε να εμφανιστεί στην οθόνη.
💡 Τι μπορεί να μπει μέσα στις παρενθέσεις:
  • Ένα αλφαριθμητικό (κείμενο μέσα σε εισαγωγικά): print("Γεια")
  • Ένας αριθμός: print(42)
  • Μια μεταβλητή: print(x)
  • Μια αριθμητική παράσταση: print(2 + 3)
  • Πολλά από τα παραπάνω, χωρισμένα με κόμμα: print("Σύνολο:", a + b)
🐍 Διαφορά με τη C:

Στη C, η printf δεν αλλάζει από μόνη της γραμμή — αν θέλαμε νέα γραμμή, γράφαμε ρητά \n μέσα στο string. Στην Python, η print() κάνει αυτόματα αλλαγή γραμμής στο τέλος, χωρίς να χρειάζεται να κάνουμε κάτι.

12.5.2 Βασική χρήση

print("Καλώς ήρθες") print("στο μάθημα της Python!")
Καλώς ήρθες στο μάθημα της Python!
💡 Παρατήρηση: Κάθε print() αλλάζει αυτόματα γραμμή στο τέλος. Δεν χρειαζόμαστε \n όπως στη C.

12.5.3 Εκτύπωση αριθμών

print(42) print(3.14) print(2 + 3)
42 3.14 5

Δεν χρειάζονται εισαγωγικά για τους αριθμούς. Επίσης, η print μπορεί να υπολογίσει εκφράσεις πριν τις εμφανίσει.

12.5.4 Πολλαπλά ορίσματα

Μπορούμε να δώσουμε στην print() περισσότερα από ένα ορίσματα, χωρισμένα με κόμμα. Θα τα εμφανίσει διαδοχικά, με ένα κενό ανάμεσά τους:

print("Ο αριθμός είναι:", 42) print("Όνομα:", "Μαρία", "Ηλικία:", 20)
Ο αριθμός είναι: 42 Όνομα: Μαρία Ηλικία: 20

12.6 Μεταβλητές

Στην Python, μια μεταβλητή είναι ένα όνομα που «κρατάει» μια τιμή. Σε αντίθεση με τη C, δεν χρειάζεται να δηλώσουμε τον τύπο της μεταβλητής.

12.6.1 Δημιουργία μεταβλητής

age = 20 name = "Γιώργος" height = 1.75 print(name) print(age) print(height)
Γιώργος 20 1.75
🐍 Σύγκριση με C:

Στη C θα γράφαμε:

int age = 20; char name[] = "Γιώργος"; double height = 1.75;

Στην Python: ούτε τύπο δηλώνουμε, ούτε ερωτηματικό βάζουμε. Η Python καταλαβαίνει μόνη της τον τύπο από την τιμή.

12.6.2 Βασικοί τύποι τιμών

ΤύποςΌνομα στην PythonΠαράδειγμα
Ακέραιοςint42, -7, 0
Δεκαδικόςfloat3.14, -0.5
Αλφαριθμητικόstr"Γεια", 'Python'
ΛογικόςboolTrue, False
📝 Αλφαριθμητικά: Η Python δέχεται και διπλά εισαγωγικά "..." και μονά '...'. Είναι εντελώς το ίδιο.

12.6.3 Έλεγχος του τύπου

Μπορούμε να ρωτήσουμε την Python τι τύπος είναι μια μεταβλητή, με τη συνάρτηση type():

a = 10 b = 3.14 c = "Καλημέρα" print(type(a)) print(type(b)) print(type(c))
<class 'int'> <class 'float'> <class 'str'>

12.6.4 Αλλαγή τιμής μιας μεταβλητής

Μπορούμε ανά πάσα στιγμή να αλλάξουμε την τιμή — ακόμα και τον τύπο — μιας μεταβλητής:

x = 10 print(x) # 10 x = 25 print(x) # 25 x = "τώρα είμαι κείμενο" print(x) # τώρα είμαι κείμενο
⚠️ Διαφορά με C: Στη C δεν μπορούμε να βάλουμε string σε μεταβλητή που δηλώσαμε int. Στην Python μπορούμε — και αυτό μπορεί να είναι παγίδα! Καλό είναι να κρατάμε σταθερό τύπο για κάθε μεταβλητή, για να μην μπερδευόμαστε.

12.6.5 Κανόνες ονομασίας μεταβλητών

Όπως και στη C, υπάρχουν κανόνες για το πώς ονομάζουμε μεταβλητές:

# Σωστά ονόματα age = 20 user_name = "Μαρία" total2 = 100 # Λάθος ονόματα (δεν τρέχουν) # 2age = 20 <- ξεκινάει με αριθμό # user-name = "Μ" <- περιέχει παύλα # if = 5 <- δεσμευμένη λέξη

12.6.6 Πράξεις με μεταβλητές

Μπορούμε να κάνουμε αριθμητικές πράξεις, όπως ακριβώς στη C:

a = 10 b = 3 print(a + b) # 13 - πρόσθεση print(a - b) # 7 - αφαίρεση print(a * b) # 30 - πολλαπλασιασμός print(a / b) # 3.3333... - διαίρεση print(a % b) # 1 - υπόλοιπο
13 7 30 3.3333333333333335 1
💡 Διαφορά με C: Στην Python, η διαίρεση / δίνει πάντα δεκαδικό αποτέλεσμα. Αν θέλουμε «ακέραια διαίρεση» (όπως στη C με δύο int), χρησιμοποιούμε το //:
print(10 / 3) # 3.3333333333333335 print(10 // 3) # 3

12.6.7 Μια ολοκληρωμένη χρήση: εμβαδό ορθογωνίου

# Πρόγραμμα: υπολογισμός εμβαδού ορθογωνίου width = 5 height = 3 area = width * height print("Πλάτος:", width) print("Ύψος:", height) print("Εμβαδό:", area)
Πλάτος: 5 Ύψος: 3 Εμβαδό: 15

12.7 Σύνοψη

📋 Τι μάθαμε σε αυτό το κεφάλαιο

  • Η Python είναι μια διερμηνευόμενη γλώσσα προγραμματισμού, σχεδιασμένη να είναι απλή και ευανάγνωστη.
  • Σε σχέση με τη C: δεν χρειάζεται main, { }, ;, ούτε δήλωση τύπου.
  • Εγκαθιστούμε την Python από το python.org, προσέχοντας να επιλέξουμε «Add Python to PATH».
  • Τα αρχεία Python έχουν κατάληξη .py.
  • Η built-in συνάρτηση print() εμφανίζει κείμενο ή αριθμούς στην οθόνη — αλλάζει αυτόματα γραμμή.
  • Τα σχόλια ξεκινούν με #.
  • Οι μεταβλητές δημιουργούνται με απλή ανάθεση, χωρίς δήλωση τύπου: age = 20.
  • Βασικοί τύποι: int, float, str, bool.
  • Η διαίρεση / δίνει δεκαδικό, η // δίνει ακέραιο.

12.8 Ασκήσεις

Άσκηση 1 — Παρουσίαση

Γράψτε ένα πρόγραμμα που εμφανίζει στην οθόνη το όνομά σας, την ηλικία σας και την πόλη σας, σε τρεις διαφορετικές γραμμές, χρησιμοποιώντας τρεις εντολές print().

Άσκηση 2 — Πράξεις

Δημιουργήστε δύο μεταβλητές a και b με τιμές 15 και 4. Τυπώστε το άθροισμα, τη διαφορά, το γινόμενο, την κανονική διαίρεση (/), την ακέραια διαίρεση (//) και το υπόλοιπο (%) τους.

Άσκηση 3 — Εμβαδό κύκλου

Δημιουργήστε μια μεταβλητή pi με τιμή 3.14159 και μια μεταβλητή r με τιμή 7. Υπολογίστε το εμβαδό κύκλου με τύπο area = pi * r * r και εμφανίστε το.

Άσκηση 4 — Τύποι δεδομένων

Δημιουργήστε τέσσερις μεταβλητές: μία ακέραια, μία δεκαδική, μία αλφαριθμητική και μία λογική. Τυπώστε την τιμή και τον τύπο (type()) της καθεμίας.

Άσκηση 5 — Μέσος όρος

Δημιουργήστε τρεις μεταβλητές grade1, grade2, grade3 με τιμές 8, 9, 7. Υπολογίστε τον μέσο όρο και εμφανίστε τον στην οθόνη με ένα μήνυμα όπως «Ο μέσος όρος είναι: 8.0».

Άσκηση 6 — Μετατροπή θερμοκρασίας

Δημιουργήστε μια μεταβλητή celsius με τιμή 25 και υπολογίστε την αντίστοιχη θερμοκρασία σε Φαρενάιτ με τον τύπο F = (9/5) * C + 32. Εμφανίστε και τις δύο τιμές.