Hi,
On 15/01/17 19:58, David D wrote:
I am creating a parent class and a child class. I am inheriting from
the parent with an additional attribute in the child class. I am
using __str__ to return the information. When I run the code, it
does exactly what I want, it returns the __str__ information. This
all works great.
BUT
1) I want what is returned to be appended to a list (the list will be
my database) 2) I append the information to the list that I created
3) Whenever I print the list, I get a memory location
So how do I take the information that is coming out of the child
class (as a __str__ string), and keep it as a string so I can append
it to the list?
[snip]
Here is where it goes wrong for me
allcars.append(car1)
This adds the object (of the child or parent class) to the list. If you
_really_ want the *string* returned by __str__() to be appended to the
list then you would do:
allcars.append(str(car1))
(The str() function returns what the object's __str__() method returns
if it has one - otherwise it will return SOME sort of string
representation of your object, but you can't rely on the format of that).
I'm a bit confused though as to why you would want to create that object
only store its __str__() value and discard the object itself.
E.
--
https://mail.python.org/mailman/listinfo/python-list