Yes, you can do this; however, the syntax to instantiate objects is not "new Class(args)". Simply drop the "new".
Taking a step back, assume you have an object stored in a variable named foo. The compiler will never complain about you doing the following:
foo.bar
This is true even if there's no way foo can have the property bar. This is because whether foo has an attribute named bar is determined at run time (this is why Python is a dynamically typed language). If your code has a type problem, you might not find out about it until you actually run it (i.e. runtime).
In Python, interfaces are established purely by convention among developers of the same project. This method of dealing with interfaces is known as duck typing. I suggest you read up on this subject, since it seems you are new to Python.
PS: Dynamic typing might sound like a bad thing because you don't get compile-time type checking, but the flip side of this is that there is much less boiler plate that you have to write. Theoretically, this makes you much more productive. In my experience, this tends to bear out.