preemptive OOP?



Ok, I have a new random question for today -- feel free to ignore and get back to your real jobs! :)

Anyway, I'm creating a GUI (yes, all part of my master plan to eventually have some sort of database application working) and it's going to involve a wx.Notebook control. I think I have two options for how I can do this. Within the class for the main window frame, I can say:

notebook = wx.Notebook(panel) # panel is parent of the Notebook control

This uses the default wx.Notebook class, and works just fine. But I was thinking, is it a smart idea to do this instead:

class MyNotebook(wx.Notebook):
def __init__(self, parent):
wx.Notebook.__init__(self, parent)

and then call it from the main frame as:

notebook = MyNotebook(panel)

This seems to allow for future expansion of the customized Notebook class, but at the same time I have no idea how or why I'd want to do that.

So my question in general is, is it a good idea to default to an OOP design like my second example when you aren't even sure you will need it? I know it won't hurt, and is probably smart to do sometimes, but maybe it also just adds unnecessary code to the program.
.