[Python-Dev] Possible bug in class-init, lookin for mentors
p.f.moore at gmail.com
Fri Apr 21 11:07:18 EDT 2017
This is correct behaviour. I would suggest that you post this to
python-list for a full discussion of what's going on here, but
basically the default value for argument bar of __init__ is created at
class creation time, and then reused for every instance. This is a
common mistake made by newcomers, using mutable default arguments for
functions (or methods).
A google search for "python mutable default argument" should find you
some useful explanations of what's going on.
On 21 April 2017 at 10:47, Justus Schwabedal <jschwabedal at gmail.com> wrote:
> Hi everyone,
> I possibly found a bug in class __init__ and would like to fix it. So I'm
> looking for a mentor to help me.
> `class Foo:
> def __init__(self, bar=):
> self.list = bar
> spam_1 = Foo()
> spam_2 = Foo()
> At least I think it's a bug. Maybe it's a feature..
> Best Regards, Jus
> Justus Schwabedal
> Handy (D): +49 177 939 5281
> email: jschwabedal at googlemail.com
> skype: justus1802
> Görlitzer Str. 22
> 01099 Dresden, Sachsen
> Steinkreuzstr. 23
> 53757 Sankt Augustin, NRW
> Python-Dev mailing list
> Python-Dev at python.org
More information about the Python-Dev