On Monday 07 March 2016 19:24, Faling Dutchman wrote: > 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.
Whenever you have an unpredictable number of some object, *any* object, you should turn to a list, or a dict. "I need some integers, but I don't know if there will be 3 or 5." Wrong solution: a = 23 b = 24 c = 25 if foo: d = 26 e = 27 # later... if foo: print(a, b, c, d, e) else: print(a, b, c) Right solution: integers = [23, 24, 25] if foo: integers.extend([26, 27]) # later... print(*foo) It doesn't matter whether you are dealing with ints, floats, strings, dicts, lists, sets, or your own custom-built objects. If you don't know in advance how many you want, put them in a list. Or a dict. > 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. Define "easy to use". > 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. Then create a better __repr__ or __str__ method. All you are seeing is the default representation inherited from object. If you don't like it, override it. -- Steve -- https://mail.python.org/mailman/listinfo/python-list