ΕΝΟΤΗΤΑ 3 - Python Variables

Στο σημερινό δωρεάν μάθημα Python, θα αναφερθούμε στον ορισμό των μεταβλητών και πως συνδυάζονται με τα Strings για την εκτύπωση στην κονσόλα ολοκληρωμένων μηνυμάτων.
Είναι κοινή πρακτική τα προγράμματα να αποθηκεύουν δεδομένα στην μνήμη του υπολογιστή για να μπορούν να εκτελούν γρήγορα πράξεις με αυτά. Η προσωρινή αποθήκευση αυτών των δεδομένων γίνεται με την μορφή μεταβλητών. Στην ουσία μια μεταβλητή είναι ένα όνομα που αντιπροσωπεύει μια τιμή στην μνήμη του υπολογιστή μας.
Για να ορίσουμε στην Python μεταβλητές, αρκεί να χρησιμοποιήσουμε ένα assignment statement που έχει την εξής μορφή:
variable = expression
Για παράδειγμα
x = 25
Ας δούμε όμως ένα ολοκληρωμένο πρόγραμμα:
App.py
#This program demonstrates a variable number = 10 print("In the soccer team, I have the number") print(number) #Notice that we do not use quotes with the variables
Output
In the soccer team, I have the number 10
Σε αυτό το απλό πρόγραμμα, ορίζουμε μια μεταβλητή με το όνομα number και αναθέτουμε σε αυτή την τιμή 10. Μετά εκτυπώνουμε ένα μήνυμα και μετά την τιμή της μεταβλητής. Δώστε προσοχή στο γεγονός ότι για να εκτυπώσετε την τιμή με την οποία ισούται μια μεταβλητή, την γράφουμε μέσα στην print( ) μέθοδο χωρίς τα quotes. Επίσης η ανάθεση τιμών σε μια μεταβλητή γίνεται πάντα από τα δεξιά προς τα αριστερά.
Ας δούμε ένα ακόμα πρόγραμμα και αυτή τη φορά ας ορίσουμε δύο μεταβλητές.
App.py
#This program demonstrates the use of two variables number = 10 average = 1.4 print("In the soccer team, I have the number") print(number) #Notice that we do not use quotes with the variables print("and I usually score an average of") print(average) print("goals per game")
Output
In the soccer team, I have the number 10 and I usually score an average of 1.4 goals per game
Στο πιο πάνω πρόγραμμα, προσθέτουμε μια ακόμα μεταβλητή που εκτυπώνει στην οθόνη τον μέσο όρο σκοραρίσματος ανά παιγνίδι. Η μεταβλητή number είναι είδος ακέραιου αριθμού, ενώ η μεταβλητή average είναι είδος δεκαδικού αριθμού. Η μεταβλητή θα αποκτήσει το ίδιο data type με εκείνο που έχει η τιμή που της αναθέτουμε.
Πρέπει επίσης να γνωρίζουμε ότι υπάρχουν μερικές λέξεις-κλειδιά που ήδη έχει δεσμεύσει η Python για δική της χρήση και δεν μπορούμε να δώσουμε στις δικές μας μεταβλητές ίδιο όνομα με εκείνο που ήδη χρησιμοποιεί η Python. Αυτές τις λέξεις κλειδιά δεν χρειάζεται να τις θυμάστε γιατί κάθε αξιόλογο IDE που θα χρησιμοποιήσετε για την ανάπτυξη κώδικα Python θα “παραπονεθεί” όταν αντιληφθεί ότι έχετε ονομάσει κάποια μεταβλητή σας με το ίδιο όνομα που χρησιμοποιεί η Python για δική της χρήση. Αυτές οι λέξεις κλειδιά είναι:

Εκτός από τις λέξεις-κλειδιά που δεν μπορούμε να χρησιμοποιήσουμε για ονόματα δικών μας μεταβλητών, υπάρχουν ακόμα λίγοι κανόνες:
- Το όνομα της μεταβλητής δεν μπορεί να περιέχει κενά (π.χ. total average)
- Τα ονόματα των μεταβλητών μας πρέπει να ξεκινάνε με τον πρώτο χαρακτήρα να είναι μόνο γράμμα ή underscore ( _ ).
- Μετά από τον πρώτο χαρακτήρα επιτρέπεται να χρησιμοποιήσουμε και αριθμούς
- Τέλος, η Python είναι case sensitive οπότε Car και car είναι δύο διαφορετικές μεταβλητές
Ας δούμε τώρα πως θα μπορούσαμε να κάνουμε το προηγούμενο πρόγραμμα μας να έχει λιγότερες γραμμές κώδικα. Αυτό θα το επιτύχουμε με καλύτερη χρησιμοποίηση της print( ) η οποία μας επιτρέπει να δείχνουμε το μήνυμα μας και την τιμή μιας μεταβλητής μέσα στην ίδια μέθοδο, αρκεί να χωρίζονται τα δύο αυτά στοιχεία από κόμμα. Εννοείτε ότι μπορούσαμε να είχαμε περισσότερα από ένα μήνυμα και περισσότερες από μια μεταβλητές μέσα στην ίδια print( ) μέθοδο. Στο αποτέλεσμα που εμφανίζεται παρατηρούμε επίσης ότι η Python προσθέτει αυτόματα ένα κενό ανάμεσα στο μήνυμα και την τιμή της μεταβλητής.
App.py
#This program demonstrates the use string and variable # inside the same print() method number = 10 average = 1.4 print("In the soccer team, I have the number", number) print("and I usually score an average of", average , "goals per game")
Output
In the soccer team, I have the number 10 and I usually score an average of 1.4 goals per game
Επειδή υπάρχουν διαφορετικά είδη αριθμών (π.χ δεκαδικοί, ακέραιοι) η Python αντιστοιχεί κάποια data types σε αυτά για να μπορεί να τα χειριστεί σωστά και να κάνει πράξεις με αυτά. Όπως είπαμε πιο πάνω, όταν αναθέτουμε ένα ακέραιο σε μια μεταβλητή, η Python το κατηγοριοποιεί σαν int και όταν έχουμε ένα δεκαδικό τότε το κατηγοριοποιεί σαν float.
App.py
#This program demonstrates the use of int and float variables euros = 67.80 print("I have", euros, "euros in my bank account") euros = 100 print("Luck me! I now have", euros, "euros in my bank account")
Output
I have 67.8 euros in my bank account Luck me! I now have 100 euros in my bank account
Όπως βλέπουμε στο πιο πάνω πρόγραμμα, στην ίδια μεταβλητή αναθέτουμε διαφορετικούς αριθμούς – πχ από δεκαδικό (67.80) σε ακέραιο (100), με αποτέλεσμα το data type της μεταβλητής να αλλάζει κάθε φορά με το είδος της τιμής που της αναθέτουμε.
Για να μπορέσουμε να βρούμε ανά πάσα στιγμή το data type της μεταβλητής, μπορούμε να καλέσουμε την μέθοδο type( ), όπως δείχνει το πιο κάτω παράδειγμα:
App.py
#This program demonstrates the use of int and float variables #and how to find their types euros = 67.80 print(type(euros)) print("I have", euros, "euros in my bank account") euros = 100 print(type(euros)) print("Luck me! I now have", euros, "euros in my bank account")
Output
I have 67.8 euros in my bank account Luck me! I now have 100 euros in my bank account
Εκτός από int και float, η Python έχει επίσης str data type για να αποθηκεύει strings.
App.py
#This program demonstrates the use of str data type first_name = "Michail" last_name = "Kassapoglou" print(type(first_name)) print("Welcome Mr.", first_name, last_name) euros = 67.80 print(type(euros)) print("You have", euros, "euros in your bank account")
Output
Welcome Mr. Michail Kassapoglou You have 67.8 euros in your bank account
Από την σημερινή ενότητα κρατήστε το γεγονός ότι μια μεταβλητή είναι απλά ένα όνομα που αναφέρεται σε κάποιο είδος data μέσα στην μνήμη. Με αυτή την λογική, μια μεταβλητή μπορεί κάλλιστα να αλλάξει από int σε str.
App.py
#This program demonstrates the change of data type #for the same variable first_name = "Michail" last_name = "Kassapoglou" print(type(first_name)) print("Welcome Mr.", first_name, last_name) euros = 67.80 print(type(euros)) euros = "one hundred" print(type(euros)) print("You have", euros, "euros in your bank account")
Output
Welcome Mr. Michail Kassapoglou You have one hundred euros in your bank account
ΕΙΣΗΓΗΤΗΣ
Μιχάλης Κασάπογλου
Ο Μιχάλης Κασάπογλου, είναι ένας από τους πιο έμπειρους τεχνικούς εκπαιδευτές στον χώρο του προγραμματισμού με πάνω από 20 χρόνια εμπειρία. Έχει εργαστεί σαν IT Operations Manager, Senior Programmer, και Training Team Leader ενώ κατέχει και αρκετές πιστοποιήσεις που καλύπτουν ένα μεγάλο φάσμα τεχνολογιών στο προγραμματισμό, σε βάσεις δεδομένων και cloud. Στον ελεύθερο του χρόνο διατηρεί ένα τεχνολογικό blog στο οποίο θα βρείτε αρκετά δωρεάν μαθήματα προγραμματισμού για αρχάριους.