[EMAIL PROTECTED] wrote: > On Aug 30, 12:13 pm, Arnaud Delobelle <[EMAIL PROTECTED]> wrote: >> On Aug 30, 8:00 pm, [EMAIL PROTECTED] wrote: >> >>> I have read that you can derive from the base classes such as str, >>> list, dict. >>> I guess this would look like: >>> def MyString(str): >>> def MyList(list): >>> def MyDict(dict): >> You mean >> >> class MyString(str): >> ... >> >>> How do you access the data that is contained in the super class? >> The same way that you access plain strings, lists or dicts: use the >> methods of the super class. >> > > I don't know what name I would use to call a method: > > > class MyString(str): > def __init__(strInput): > ????? = strInput > > I think your understanding of Python needs to advance a little before you start trying to do something like this. It's the __new__() method you need to be overriding, not the __init__() method.
>>> class MyString(str): ... def __new__(cls, val): ... return str.__new__(cls, val) ... >>> s = MyString("1234") >>> s '1234' >>> type(s) <class '__main__.MyString'> >>> regards Steve -- Steve Holden +1 571 484 6266 +1 800 494 3119 Holden Web LLC/Ltd http://www.holdenweb.com Skype: holdenweb http://del.icio.us/steve.holden --------------- Asciimercial ------------------ Get on the web: Blog, lens and tag the Internet Many services currently offer free registration ----------- Thank You for Reading ------------- -- http://mail.python.org/mailman/listinfo/python-list