Δημοσιεύτηκε: 06 Οκτ 2009, 12:37
από Luke
malos έγραψε:
3 στον κώδικα

Κώδικας: Επιλογή όλων
class Person:
def __init__(self, name):
self.name = name
def sayHi(self):
print('Hello, my name is', self.name)

p = Person('Swaroop')
p.sayHi()


λέει ότι "Τώρα, δημιουργούμε ένα νέο πεδίο που αποκαλείται επίσης name. Προσέξτε ότι πρόκειται για δύο διαφορετικές μεταβλητές παρότι αναφέρονται και οι δύο ως 'name'. Δεν πρόκειται να υπάρξει σύγχιση εδώ διότι ο διάστικτος συμβολισμός (dotted notation) self.name σημαίνει ότι υπάρχει που λέγεται "name" και είναι μέρος του αντικειμένου που λέγεται "self" ενώ το άλλο name είναι μια τοπική μεταβλητή.

μπορεί κάποιος να αντικαταστήσει το ένα name με τη λέξη onoma ώστε να γίνει κατανοητός ο διαχωρισμός αυτός.

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