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

ref_functΌπως μπορείτε να δείτε, σε αυτό το παράδειγμα η συνάρτηση παίρνει σαν παράμετρο ένα άτομο το οποίο αντιστοιχεί σε μία διεύθυνση μνήμης ενός αντικειμένου. Σκεφτείτε το σαν ένα αριθμό τραπεζικού λογαριασμού. Η συνάρτηση χρησιμοποιεί αυτό ένα αντίγραφο του αριθμού λογαριασμού για να καταθέσει 100 ευρό. Αυτό έχει σαν αποτέλεσμα το υπόλοιπο του λογαριασμού του Bob να ανέβει.

Άσκηση 1

Στην περιοχή εντολών του Thonny's δημιουργήστε ένα πρόγραμμα όπως στην περιγραφή που ακολουθεί:

  • Δημιουργήστε μία κλάση με όνομα Cat και ιδιότητες όνομα, χρώμα και βάρος (name, color, weight).
  • Δημιουργήστε μία μέθοδο μέσα στην κλάση με όνομα meow.
  • Δημιουργήστε ένα στιγμιότυπο της κλάσης cat, δώστε τιμές στις ιδιότητεςκαι καλέστε την μέθοδο meow.

Απάντηση άσκησης 1

Άσκηση 2

Στην περιοχή κώδικα του Thonny δημιουργήστε ένα πρόγραμμα όπως περιγράφεται παρακάτω:

  • Δημιουργήστε μία κλάση με όνομα Monster και με ιδιότητες, ένα όνομα και ένα ακέραιο αριθμό για υγεία (name, health).
  • Δημιουργήστε μία μέθοδο με όνομα decrease_health που δέχεται σαν παράμετρο ένα αριθμό και μειώνει την υγεία του αντικειμένου κατά τόσο.
  • Μέσα στην μέθοδο, να τυπώνεται το μήνυμα "το τέρας πέθανε" αν η υγεία του πάρει τιμή μικρότερη από το μηδέν.

Απάντηση άσκησης 2