Δημοσιεύτηκε: 07 Οκτ 2009, 01:14
@malos
και στις δυο περιπτώσεις θα σου βγάλει NameError
είτε
NameError: global name 'name' is not defined
είτε
NameError: global name 'onoma' is not defined
Στο function definition --> def __init__(self,name):
το name είναι ένα argument (και παρεμπιπτόντως positional argument) απλά για να μεταφέρει στο εσωτερικό της __init__ την μεταβλητή
όπως και να λέγεται αυτή .
Όταν κάνεις self.κάτι
δεν έχει σημασία πως λέγεται είτε είναι method ( --> μέθοδος ή συνάρτηση ) είτε είναι attribute ( --> ιδιότητα ή μεταβλητή )
φτάνει να είσαι συνεπείς και να το χρησιμοποιείς με το όνομα του
και όχι να το δηλώνεις την μιά self.onoma και μετά να προσπαθείς να το προσπελάσεις με self.name
Δες εδώ
http://docs.python.org/tutorial/classes.html
για περισσότερα
και στις δυο περιπτώσεις θα σου βγάλει NameError
είτε
NameError: global name 'name' is not defined
είτε
NameError: global name 'onoma' is not defined
Στο function definition --> def __init__(self,name):
το name είναι ένα argument (και παρεμπιπτόντως positional argument) απλά για να μεταφέρει στο εσωτερικό της __init__ την μεταβλητή
όπως και να λέγεται αυτή .
Όταν κάνεις self.κάτι
δεν έχει σημασία πως λέγεται είτε είναι method ( --> μέθοδος ή συνάρτηση ) είτε είναι attribute ( --> ιδιότητα ή μεταβλητή )
φτάνει να είσαι συνεπείς και να το χρησιμοποιείς με το όνομα του
και όχι να το δηλώνεις την μιά self.onoma και μετά να προσπαθείς να το προσπελάσεις με self.name
- Κώδικας: Επιλογή όλων
class person:
def __init__(self,tsoumbaouamba):
self.trislalounkaidioxoreoun =tsoumbaouamba
def sayhi(self):
print ('hello ,my name is ',self.trislalounkaidioxoreoun)
def __onomataki__(self):
return self.trislalounkaidioxoreoun
def __pou_anikeis__(self):
return self # και print self κάνει ...
- Κώδικας: Επιλογή όλων
>>> p=person('Mbambis')
>>> p.sayhi()
('hello ,my name is ', 'Mbambis')
>>> p.__onomataki__()
'Mbambis'
>>> p.__pou_anikeis__()
<__main__.person instance at 0x28b2ef0>
>>> p.trislalounkaidioxoreoun
'Mbambis'
Δες εδώ
http://docs.python.org/tutorial/classes.html
για περισσότερα