kjo funksionon në mënyrën e dëshiruar:
class d:
def __init__(self,arg):
self.a = arg
def p(self):
print "a= ",self.a
x = d(1)
y = d(2)
x.p()
y.p()
duke dhënë
a= 1
a= 2
Unë jam përpjekur të eliminoj "veten" dhe të përdor një deklaratë globale në __init__
class d:
def __init__(self,arg):
global a
a = arg
def p(self):
print "a= ",a
x = d(1)
y = d(2)
x.p()
y.p()
duke dhënë, në mënyrë të padëshirueshme:
a= 2
a= 2
a ka ndonjë mënyrë për ta shkruar pa përdorur "veten"?
self
si argument të parë, dhe më pas ia caktoni objektit të klasës, çdo shembull i asaj klase do ta trashëgojë atë funksion si një metodë e lidhur. Në këtë rast gjithçka që bëtë ishte të krijoni një funksion, ta bashkëngjitni atë në një klasë dhe u bë një metodë. Sidoqoftë, keni të drejtë në atë qëtype
aktuale efunction
ndryshon në atë tëinstancemethod
. 21.04.2011