title: Do python decorators strictly implement the decorator pattern ?
body: <p>I've attended a session about decorator pattern where most of the examples provided were in java.For instance in the example below the Pizza object is being decorated with Two toppings .</p>
  
  <pre><code>Pizza vegPizza = new ToppingsType1(new ToppingType2(new Pizza()))
  </code></pre>
  
  <p>In python i've seen decorators being used in the scenarios like this </p>
  
  <pre><code>@applyTopping2
  @applyTopping1
  makePizza():
      pass
  </code></pre>
  
  <p>Though here I can see that the the makePizza function is being decorated with two functions , but it differs a lot from the class based approach of java.
  My question is do python decorators strictly implement the decorator pattern or do the implementation is a little different but the idea is same.</p>
  
  <p>PS: I am not sure where to lookup the standard definition of the decorator pattern.though wikipedia gives an example in a dynamic language (JS) but my question still holds good :) </p>