The OOP way to achieve this is to define a __str__
and __repr__
method for your class:
class Language(object):
def __init__(self, name, code, *args):
self.name = name
self.code = code
self.alt = args
def __str__(self):
return str(list(tuple([self.code]) + self.alt))
def __repr__(self):
return str(list(tuple([self.code]) + self.alt))
This yields:
>>> print Language("Deutsch", "deu", "de", "ger")
['deu', 'de', 'ger']
You can then build on this with a LanguageList
class:
class LanguageList(list):
def __str__(self):
return str([i for i in self])
Demo:
>>> language_list = LanguageList([Language("Deutsch", "deu", "de", "ger"),
Language("Español", "spa", "es"),
Language("English", "eng", "en"),
Language("Svenska", "swe", "sv")])
>>> print language_list
[['deu', 'de', 'ger'], ['spa', 'es'], ['eng', 'en'], ['swe', 'sv']]