Ενότητα 7 - Τμήμα 1 - Κλάσεις
7.1.6 - Συναρτήσεις και αναφορές
Τώρα ας χρησιμοποιήσουμε μία αναφορά με μία συνάρτηση.
def give_money(person):
person.money += 100
class Person():
def __init__(self):
self.name = ""
self.money = 0
bob = Person()
bob.name = "Bob"
bob.money = 100
give_money(bob)
print(bob.money)
Και παρακολουθήστε το στο www.pythontutor.com
Όπως μπορείτε να δείτε, σε αυτό το παράδειγμα η συνάρτηση παίρνει σαν παράμετρο ένα άτομο το οποίο αντιστοιχεί σε μία διεύθυνση μνήμης ενός αντικειμένου. Σκεφτείτε το σαν ένα αριθμό τραπεζικού λογαριασμού. Η συνάρτηση χρησιμοποιεί αυτό ένα αντίγραφο του αριθμού λογαριασμού για να καταθέσει 100 ευρό. Αυτό έχει σαν αποτέλεσμα το υπόλοιπο του λογαριασμού του Bob να ανέβει.
Άσκηση 1
Στην περιοχή εντολών του Thonny's δημιουργήστε ένα πρόγραμμα όπως στην περιγραφή που ακολουθεί:
- Δημιουργήστε μία κλάση με όνομα Cat και ιδιότητες όνομα, χρώμα και βάρος (name, color, weight).
- Δημιουργήστε μία μέθοδο μέσα στην κλάση με όνομα meow.
- Δημιουργήστε ένα στιγμιότυπο της κλάσης cat, δώστε τιμές στις ιδιότητεςκαι καλέστε την μέθοδο meow.
Άσκηση 2
Στην περιοχή κώδικα του Thonny δημιουργήστε ένα πρόγραμμα όπως περιγράφεται παρακάτω:
- Δημιουργήστε μία κλάση με όνομα Monster και με ιδιότητες, ένα όνομα και ένα ακέραιο αριθμό για υγεία (name, health).
- Δημιουργήστε μία μέθοδο με όνομα decrease_health που δέχεται σαν παράμετρο ένα αριθμό και μειώνει την υγεία του αντικειμένου κατά τόσο.
- Μέσα στην μέθοδο, να τυπώνεται το μήνυμα "το τέρας πέθανε" αν η υγεία του πάρει τιμή μικρότερη από το μηδέν.