the built-in staticmethod(function is designed to be used as decorator as we have done here static methods are simply methods that do not get self or any other first argument specially passed by python the operator can be chainedso given fuzzybool' fgand hwe can get the conjunction of all of them by writing this works fine for small numbers of fuzzyboolsbut if we have dozen or more it starts to become rather inefficient since each represents function call with the method given here we can achieve the same thing using single function call of fuzzybool fuzzybool conjunction(fghthis can be written more concisely using fuzzybool instancebut since static methods don' get selfif we call one using an instance and we want to process that instance we must pass it ourselves--for examplef conjunction(fghwe have not shown the corresponding disjunction(method since it differs only in its name and that it uses max(rather than min(some python programmers consider the use of static methods to be un-pythonicand use them only if they are converting code from another language (such as +or java)or if they have method that does not use self in pythonrather than using static methods it is usually better to create module function insteadas we will see in the next subsubsectionor class methodas we will see in the last section in similar veincreating variable inside class definition but outside any method creates static (classvariable for constants it is usually more convenient to use private module globalsbut class variables can often be useful for sharing data among all of class' instances we have now completed the implementation of the fuzzybool class "from scratchwe have had to reimplement methods ( if we had done the minimum of all four comparison operators)and have implemented two static methods in the following subsubsection we will show an alternative implementationthis time based on the inheritance of float it involves the reimplementations of just eight methods and the implementation of two module functions--and the "unimplementationof methods in most object-oriented languages inheritance is used to create new classes that have all the methods and attributes of the classes they inheritas well as the additional methods and attributes that we want the new class to have python fully supports thisallowing us to add new methodsor to reimplement inherited methods so as to modify their behavior but in additionpython allows us to effectively unimplement methodsthat isto make the new class behave as though it does not have some of the methods that it inherits doing this might not appeal to object-oriented purists since it breaks polymorphismbut in python at leastit can occasionally be useful technique