Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.python > #65159
| Date | 2014-02-01 01:41 +0000 |
|---|---|
| From | MRAB <python@mrabarnett.plus.com> |
| Subject | Re: __init__ is the initialiser |
| References | (1 earlier) <lcgut2$b8r$1@ger.gmane.org> <858utviwgs.fsf@benfinney.id.au> <lchce7$44q$1@ger.gmane.org> <mailman.6233.1391214984.18130.python-list@python.org> <roy-EDB0E1.20104631012014@news.panix.com> |
| Newsgroups | comp.lang.python |
| Message-ID | <mailman.6238.1391218886.18130.python-list@python.org> (permalink) |
On 2014-02-01 01:10, Roy Smith wrote: > In article <mailman.6233.1391214984.18130.python-list@python.org>, > Ethan Furman <ethan@stoneleaf.us> wrote: > >> I found calling __init__ the constructor very confusing. > > I've heard many people say this, and it's always sort of befuddled me. > > In C++, a constructor is really an initializer too. By the time C++'s > Foo::Foo() or Python's Foo.__init__() get called, memory has already > been allocated, so I would say the object has been constructed. Yet, > C++ people are perfectly happy calling this "thing that takes some > allocated hunk of memory and sets its attributes to useful values" a > constructor[1], and Python people are not. > You could argue that construction is not complete until the instance has been initialised. In the case of C++, all you have is the initialiser, so doesn't really matter, but Python has __new__ and __init__, so it _does_ matter. > [1] Well, they really call it a ctor, but I chalk that up to the same > sort of silliness that makes pythonistas pronounce "__" as "dunder" :-) >
Back to comp.lang.python | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
Re: __init__ is the initialiser Ethan Furman <ethan@stoneleaf.us> - 2014-01-31 16:13 -0800
Re: __init__ is the initialiser Roy Smith <roy@panix.com> - 2014-01-31 20:10 -0500
Re: __init__ is the initialiser MRAB <python@mrabarnett.plus.com> - 2014-02-01 01:41 +0000
Re: __init__ is the initialiser Roy Smith <roy@panix.com> - 2014-01-31 20:53 -0500
Re: __init__ is the initialiser Ethan Furman <ethan@stoneleaf.us> - 2014-01-31 18:35 -0800
Dunder [was Re: __init__ is the initialiser] Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2014-02-01 02:52 +0000
Re: Dunder [was Re: __init__ is the initialiser] MRAB <python@mrabarnett.plus.com> - 2014-02-01 03:04 +0000
Re: Dunder [was Re: __init__ is the initialiser] Chris Angelico <rosuav@gmail.com> - 2014-02-01 15:05 +1100
Re: Dunder [was Re: __init__ is the initialiser] Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2014-02-01 05:53 +0000
csiph-web