From: Serhiy Storchaka Date: Mon, 31 Dec 2018 07:56:21 +0000 (+0200) Subject: bpo-35609: Remove examples for deprecated decorators in the abc module. (GH-11355) X-Git-Tag: v3.8.0a1~161 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=5c117dd227e1b4c4f0a62564d8592f1ba45c91eb;p=python bpo-35609: Remove examples for deprecated decorators in the abc module. (GH-11355) --- diff --git a/Lib/abc.py b/Lib/abc.py index 7094141277..431b64040a 100644 --- a/Lib/abc.py +++ b/Lib/abc.py @@ -11,7 +11,8 @@ def abstractmethod(funcobj): class that has a metaclass derived from ABCMeta cannot be instantiated unless all of its abstract methods are overridden. The abstract methods can be called using any of the normal - 'super' call mechanisms. + 'super' call mechanisms. abstractmethod() may be used to declare + abstract methods for properties and descriptors. Usage: @@ -27,17 +28,7 @@ def abstractmethod(funcobj): class abstractclassmethod(classmethod): """A decorator indicating abstract classmethods. - Similar to abstractmethod. - - Usage: - - class C(metaclass=ABCMeta): - @abstractclassmethod - def my_abstract_classmethod(cls, ...): - ... - - 'abstractclassmethod' is deprecated. Use 'classmethod' with - 'abstractmethod' instead. + Deprecated, use 'classmethod' with 'abstractmethod' instead. """ __isabstractmethod__ = True @@ -50,17 +41,7 @@ class abstractclassmethod(classmethod): class abstractstaticmethod(staticmethod): """A decorator indicating abstract staticmethods. - Similar to abstractmethod. - - Usage: - - class C(metaclass=ABCMeta): - @abstractstaticmethod - def my_abstract_staticmethod(...): - ... - - 'abstractstaticmethod' is deprecated. Use 'staticmethod' with - 'abstractmethod' instead. + Deprecated, use 'staticmethod' with 'abstractmethod' instead. """ __isabstractmethod__ = True @@ -73,29 +54,7 @@ class abstractstaticmethod(staticmethod): class abstractproperty(property): """A decorator indicating abstract properties. - Requires that the metaclass is ABCMeta or derived from it. A - class that has a metaclass derived from ABCMeta cannot be - instantiated unless all of its abstract properties are overridden. - The abstract properties can be called using any of the normal - 'super' call mechanisms. - - Usage: - - class C(metaclass=ABCMeta): - @abstractproperty - def my_abstract_property(self): - ... - - This defines a read-only property; you can also define a read-write - abstract property using the 'long' form of property declaration: - - class C(metaclass=ABCMeta): - def getx(self): ... - def setx(self, value): ... - x = abstractproperty(getx, setx) - - 'abstractproperty' is deprecated. Use 'property' with 'abstractmethod' - instead. + Deprecated, use 'property' with 'abstractmethod' instead. """ __isabstractmethod__ = True