Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: Python Jäsenfunktion oletusarvoinen parametri

pipo [18.12.2008 11:59:01]

#

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)

Chiman [18.12.2008 12:16:10]

#

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

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta