Thus far, we have described the core concepts of Zope 2 programming. The remainder of this chapter will focus on concepts that are new with Zope 3: interfaces, utilities, adapters, views, and events.
Interfaces are a key part of most Zope 3 techniques. They are best thought of as verifiable documentation—descriptions of components and their behavior that can be inspected at run time. The simplest form of an interface—known as a marker interface—is one that describes the type of a component without promising any methods or attributes.
Because Python does not have a language construct for interfaces, we define them using classes inheriting from
>>> from zope.interface import Interface ...