Python

ΕΝΟΤΗΤΑ 3 - Python Variables

image description

Στο σημερινό δωρεάν μάθημα 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 για δική της χρήση. Αυτές οι λέξεις κλειδιά είναι:

Δωρεάν Μαθήματα και Σεμινάρια 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


<class 'float'>
I have 67.8 euros in my bank account
<class 'int'>
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


<class 'str'>
Welcome Mr. Michail Kassapoglou
<class 'float'>
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


<class 'str'>
Welcome Mr. Michail Kassapoglou
<class 'float'>
<class 'str'>
You have one hundred euros in your bank account

ΕΙΣΗΓΗΤΗΣ

Merry Jhonson

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

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

loader