On Jul 14, 5:30 am, John Roth <[EMAIL PROTECTED]> wrote: > On Jul 13, 11:55 am, Matthew Wilson <[EMAIL PROTECTED]> wrote: > > > > > I started off with a module that defined a class Vehicle, and then > > subclasses Car and Motorcycle. > > > In the Car class, for some bizarre reason, I instantiated a Motorcycle. > > Please pretend that this can't be avoided for now. > > > Meanwhile, my Motorcycle class instantiated a Car as well. > > > Then I moved the Car and Motorcycle classes into separate files. Each > > imported the Vehicle module. > > > Then I discovered that my Car module failed because the global > > Motorcycle wasn't defined. The same problem happened in my Motorcycle > > module. Car and Motorcycle can't both import each other. > > > In the beginning, when all three (Vehicle, Car, and Motorcycle) were > > defined in the same file, everything worked fine. > > > I don't know how to split them out in separate files now though and I > > really wish I could because the single file is enormous. > > > Any ideas? > > > Matt > > While it's possible for circular imports to work, it's very dangerous: > it's not always possible to tell what went wrong without tracking down > the process of the import step by step. There are more productive ways > of banging your head against the wall and going insane. > > In your situation, it might be a whole lot easier to extract a common > superclass that both of your classes could inherit from. >
Like the Vehicle class the OP mentioned? -- http://mail.python.org/mailman/listinfo/python-list