Δημοσιεύτηκε: 24 Ιουν 2014, 22:06
από midkin
Από το βιβλίο:

Κώδικας: Επιλογή όλων
class Person:
def sayHi(self):
print('Hello, how are you?')

p = Person()
p.sayHi()

# Αυτό το σύντομο παράδειγμα θα μπορούσε να γραφτεί και ως
Person().sayHi()

Καταλαβαίνω απόλυτα το:

Κώδικας: Επιλογή όλων
def sayHi():
print('Hello, how are you?')
sayHi()


Ωστόσο, έχω μία δυσκολία να καταλάβω το πρώτο παράδειγμα...
Γιατί πρέπει να χρησιμοποιώ το 'self'; Λέει το 'self' στην python ότι μπορώ να χρησιμοποιώ την συνάρτηση μέσω της κλάσης; Με άλλα λόγια η 'self' δίνει τα δικαιώματα της συνάρτησης στην κλάση;

Γιατί π.χ. δεν λειτουργεί η ακόλουθη σύνταξη;

Κώδικας: Επιλογή όλων
class Person:
def sayHi():
print('Hello, how are you?')

p = Person()
p.sayHi()

# Αυτό το σύντομο παράδειγμα θα μπορούσε να γραφτεί και ως
Person().sayHi()