best way to get data into a new instance?
Diez B. Roggisch
deets at nospam.web.de
Thu Sep 28 16:46:57 CEST 2006
John Salerno schrieb:
> Let's pretend I'm creating an Employee class, which I will later
> subclass for more specific jobs. Each instance will have stuff like a
> name, title, degrees held, etc. etc.
> So I'm wondering, is the best way to get all this information into the
> object to just have a really long __init__ method that takes each argument?
> Does a question like this depend on how the class will be used? I'm
> trying to construct it in a way that is independent of, say, the GUI
> interface that will be used, but I can't help but think that if all the
> data is entered into a GUI, then passed programmatically to the class,
> then it's no big deal because it happens behind the scenes. But if, for
> instance, someone manually created a new instance, they would have a ton
> of arguments to type in each time. Granted, even with the GUI they are
> basically typing in arguments, but in the manual case you'd have to type
> in the call to the class, the parentheses, commas, quotes around the
> strings, etc. (But still, I'm trying not to let a specific interface
> influence the construction of what should probably be a completely
> independent class implementation.)
Who is typing?
The programmer is responsible for the construction of new instances (or
at least the code which will do that), and a constructor should contain
parameters for at least the values you absolutely expect to be there -
for example name and age or something like that in your example.
You can of course always add attributes later.
More information about the Python-list