Onko tässä syntaksivirhe vai miten voin osoittaa b:n oletusarvoksi konstruktorissa esitetyn a:n?
class olio: def __init__(self): self.a = 12 def f(self, b = self.a): print b+8
(Rivillä 4: NameError: name 'self' is not defined)
Tämä toiminee halutulla tavalla:
class olio: def __init__(self): self.a = 12 def f(self, b=None): if b is None: b = self.a print b+8
Aihe on jo aika vanha, joten et voi enää vastata siihen.