Struggeling with collections

Vincent Vande Vyvre vincent.vande.vyvre at telenet.be
Mon Mar 7 03:39:32 EST 2016


Le 07/03/2016 09:24, Faling Dutchman a écrit :
> Hey folks,
>
> I am just starting off in python, but have good knowledge of both Java and C#. Now is the problem that I need to have multiple instances of one dictionary, that is not a problem if you know how many, but now, it is an unknown amount.
>
> Some background info:
>
> I am making a library for an API. This library must be easy to use for the people who are going to use it. So I am making the models for the data, the connections and so on, so they just have to fill in the gaps. In C# and Java I did it with objects, but they do not work alike in python, or at least that is what I have found.
>
> If I do this:
>
> class Item:
>      def __init__(self, id, productId, quantity, pageCount, files, option, metadata):
>          self.id = id
>          self.productId = productId
>          self.quantity = quantity
>          self.pageCount = pageCount
>          self.files = files
>          self.option = option
>          self.metadata = metadata
>
> itm = Item(1,None,1,1,'asdf',{'asdf': 3, 'ads': 55},None)
> print(itm)
>
> it prints: <__main__.Item object at 0x02EBF3B0>
>
> So that is not usefull to me. There can be an infinite amount of objects of Item, and it needs to be easy accessable, just like
> for i in items
>      print(i)
>
> and it has to show all the parameters of the class Item and not say "ive got an object  at this memory address, have a nice day"
>
> I hope my question is clear.
>
The classes have a dict

Python 3.2.3 (default, Jun 18 2015, 21:46:42)
[GCC 4.6.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
 >>> class Item:
...     def __init__(self, id, productId, quantity, pageCount, files, 
option, metadata):
...         self.id = id
...         self.productId = productId
...         self.quantity = quantity
...         self.pageCount = pageCount
...         self.files = files
...         self.option = option
...         self.metadata = metadata
...
 >>> i = Item(1,None,1,1,'asdf',{'asdf': 3, 'ads': 55},None)
 >>> i.__dict__
{'files': 'asdf', 'option': {'ads': 55, 'asdf': 3}, 'pageCount': 1, 
'metadata': None, 'productId': None, 'id': 1, 'quantity': 1}
 >>>




More information about the Python-list mailing list