Μεταβλητές και βασικοί τελεστές
Κέρος Α. Ιωάννης Καθηγητής Πληροφορικής ΠΕ19 1ο ΕΠΑΛ Κιλκίς
Εισαγωγή Όταν μαθαίνουμε μια καινούργια γλώσσα προγραμματισμού δεν γινόμαστε απλά οικείοι με το συντακτικό της, την σημασιολογία της και τις ιδιοτροπίες της.
Μαθαίνουμε έναν νέο τρόπο σκέψης για να εκφραζόμαστε. Αν δεν τα καταφέρουμε…. • •
Είτε η γλώσσα δεν έχει να μας προσφέρει πολλά, Είτε δεν την καταλάβαμε σε βάθος.
Τιμές στην Python Τιμή είναι μία ακολουθία από bits η οποία εκφράζει ένα δεδομένο.
Οι τιμές μπορεί να είναι: • Αριθμητικές
5x102=5x100=500
Ακέραιες (integer): 3, -9 Πραγματικές (float): 2.8, 4.0, 5Ε+2, 12.3Ε-2 Μιγαδικές (complex numbers): -2+3j •
Αλφαριθμητικές (string) ‘Giannis’, “12ab”, ‘57’
•
Λογικές (boolean) True, False
Όχι στην Β τάξη Είτε μονά, είτε διπλά εισαγωγικά δεν έχει σημασία, αρκεί το ζευγάρι να είναι ίδιο
Μεταβλητές στην Python Μεταβλητή είναι ένα σύμβολο που «δείχνει» σε μία τιμή. Είναι στην ουσία ο τρόπος για να αποθηκεύσουμε τιμές (δεδομένα). Κάθε μεταβλητή διαθέτει λοιπόν ένα όνομα και μία τιμή. Το όνομα της παραμένει σταθερό αλλά η τιμή της μπορεί να αλλάζει.
Παραδείγματα
Χρησιμοποιώντας την εντολή print εκτυπώστε τα περιεχόμενα των παραπάνω μεταβλητών.
όνομα
# Σχόλια Μπλα, μπλα, μπλα….
τιμή
Μεταβλητές στην Python Κανόνες ονοματολογίας αναγνωριστικών • • •
• •
Ο πρώτος χαρακτήρας μπορεί να είναι μόνο ένα γράμμα της αλφαβήτου ή κάτω παύλα ( _ ). Το υπόλοιπο του ονόματος μπορεί να είναι γράμματα της αλφαβήτου, κάτω παύλες ( _ ) ή ψηφία (0..9). Υπάρχει διάκριση πεζών κεφαλαίων. Για παράδειγμα, τα myname και myName δεν είναι ίδια. Μπορείτε να χρησιμοποιήσετε ελληνικούς χαρακτήρες. (Δεν προτείνεται) Δεν μπορεί το όνομα ενός αναγνωριστικού να είναι μια δεσμευμένη λέξη της Python (εντολή, συνάρτηση κλπ.)
Σωστά ονόματα: i, myname, my_name, name_23, a1b2_c3
Λάθος ονόματα: 2things, my name, my-name, “myname”
Διαλέξτε ονόματα αντιπροσωπευτικά του περιεχομένου
Τύποι δεδομένων στην Python Τύπος δεδομένων είναι το σύνολο τιμών που μπορεί να πάρει μια μεταβλητή και οι επιτρεπτές λειτουργίες (πράξεις) που μπορούν να γίνουν πάνω της. Σε αντίθεση με όλες τις άλλες γλώσσες προγραμματισμού στην Python δεν ορίζεται ρητά ο τύπος δεδομένων μιας μεταβλητής και μάλιστα μπορεί αυτός να αλλάζει μέσα στο ίδιο πρόγραμμα. Η Python περιέχει δυναμικούς τύπους δεδομένων, που σημαίνει ότι οι έλεγχοι γίνονται κατά τον χρόνο εκτέλεσης και όχι κατά τον χρόνο μεταγλώττισης του προγράμματος. Ο τύπος δεδομένων της μεταβλητής καθορίζεται αφού πάρει πρώτα τιμή η μεταβλητή.
Τύποι δεδομένων στην Python
int
float
str
bool
Μικρά αλλά χρήσιμα Πολλαπλή εκχώρηση
Τι τύπος είσαι;
Αυτόματη προσαρμογή του τύπου της μεταβλητής
Τελεστές και τελεστέοι Τελεστές είναι τα ειδικά σύμβολα που αναπαριστούν υπολογισμούς (πράξεις) όπως η πρόσθεση και ο πολλαπλασιασμός. Οι τιμές στις οποίες εφαρμόζονται οι τελεστές ονομάζονται τελεστέοι.
Αριθμητικοί Τελεστές Πρόσθεση: + Αφαίρεση: Πολλαπλασιασμός: * Διαίρεση: / Ύψωση σε δύναμη: ** Ακέραιο πηλίκο: // Ακέραιο υπόλοιπο: %
Συντόμευση ανάθεσης
Τελεστές και τελεστέοι
Βασικές (ενσωματωμένες) συναρτήσεις (1/2) • float() : μετατρέπει ακεραίους και συμβολοσειρές (εάν είναι δυνατό) σε δεκαδικούς αριθμούς.
• int()
: δέχεται “οποιαδήποτε” τιμή και τη μετατρέπει σε ακέραιο
Βασικές (ενσωματωμένες) συναρτήσεις (2/2) • abs() : επιστρέφει την απόλυτη τιμή ενός αριθμού • pow(a,b) : επιστρέφει τη δύναμη του a υψωμένη στο b • divmod(x,y) : επιστρέφει το πηλίκο και το υπόλοιπο της διαίρεσης x/y
Επιπλέον συναρτήσεις (1/2) Θυμάστε στο ξεκίνημα μας στην Python το σχόλιο μας ότι «είναι μία γλώσσα με πολλά αρθρώματα (modules)»; Τι είναι ένα άρθρωμα ή μονάδα; Μία συλλογή από συναρτήσεις που μας προσφέρονται δωρεάν στο διαδίκτυο με την βοήθεια των οποίων μπορώ να κάνω πολλά επιπλέον πράγματα που η βασική Python δεν προσφέρει. Τις συλλογές αυτές τις έχουν κατασκευάσει άλλοι για εμάς πριν από εμάς (για παράδειγμα επιπλέον μαθηματικές συναρτήσεις, δημιουργία παιχνιδιών κλπ.)
Πως εισάγετε μία τέτοια μονάδα στο πρόγραμμα μας; import όνομα_μονάδας
Επιπλέον συναρτήσεις (2/2) εισαγωγή μονάδας
χρήση συνάρτησης μονάδας
Ενδιαφέρουν… Συνένωση
Επανάληψη του κειμένου Ακέραια διαίρεση και με πραγματικούς
Τελεστές και τελεστέοι Συγκριτικοί Τελεστές Ίσο με: == Διάφορο από: != Μεγαλύτερο από: > Μικρότερο από: < Μεγαλύτερο ή ίσο με: >= Μικρότερο ή ίσο με: <=
Τελεστές και τελεστέοι Λογικοί Τελεστές: Σύζευξη: and Διάζευξη: or Άρνηση: not Πρόταση Α
Πρόταση Β
Α and B
A or B
False
False
False
False
False
True
False
True
True
False
False
True
True
True
True
True
Πρόταση Α
not A
False
True
True
False
Τελεστές και τελεστέοι Προτεραιότητα Σειρά
Τελεστής
1.
**
2.
*, /, //, %
3.
+, -
4.
>, >=, <, <=, ==, !=
5.
not
6.
and
7.
or
Παρατηρήσεις 1. Όταν υπάρχουν τελεστές με την ίδια προτεραιότητα τότε εκτελούνται αυστηρά από τα αριστερά προς τα δεξιά. 2. Οι υπολογισμοί μέσα στις παρενθέσεις προηγούνται.
Τελεστές και τελεστέοι
Βοήθεια!!!! 1
2
3
Σχόλια # Σχόλια
Είναι καλό κάθε νέο πρόγραμμα μας να έχει για πρώτη του σειρά ένα σχόλιο με την περιγραφή του προγράμματος
Συμβολοσειρές Τα μονά εισαγωγικά έχουν ακριβώς ίδια χρήση με τα διπλά και τα τριπλά.
Συμβολοσειρές – Χαρακτήρες διαφυγής Εκτυπώστε την φράση: Δεν σ’ άκουσα
Ακυρώνει την σημασία του ‘ που ακολουθεί
ή
Τι συμπέρασμα μπορεί να βγει από την παρακάτω εκτέλεση;
Λογικές – Φυσικές σειρές πηγαίου κώδικα Φυσική γραμμή: η κανονική γραμμή όπως την ξέρουμε σε έναν επεξεργαστή κειμένου.
Λογική γραμμή: αυτό που η Python βλέπει ως μία ολοκληρωμένη εντολή. Πολλές λογικές γραμμές σε μία φυσική με χρήση του ελληνικού ερωτηματικού (;)
Καλύτερα να αποφεύγεται
Εσοχή κώδικα (Indentation) Εσοχή κώδικα: ο κενός χαρακτήρας που υπάρχει στην αρχή μίας γραμμής
Block (Πλοκάδα): τα τμήματα κώδικα που πάνε μαζί και έχουν την ίδια εσοχή κώδικα. Δεν ορίζουμε χωρίς λογική νέα blocks. Αυτό θα γίνει παρακάτω στο κεφάλαιο του ελέγχου ροής.
Ορίστε νέο block ή με ένα tab ή 4 spaces. Επιλέξτε ένα από τα δυο και χρησιμοποιήστε το σταθερά