@@ -160,7 +160,7 @@ a helper class :class:`ABC` to alternatively define ABCs through inheritance:
160
160
161
161
162
162
163
- The :mod: `abc ` module also provides the following decorators :
163
+ The :mod: `abc ` module also provides the following decorator :
164
164
165
165
.. decorator :: abstractmethod
166
166
@@ -236,8 +236,15 @@ The :mod:`abc` module also provides the following decorators:
236
236
multiple-inheritance.
237
237
238
238
239
+ The :mod: `abc ` module also supports the following legacy decorators:
240
+
239
241
.. decorator :: abstractclassmethod
240
242
243
+ .. versionadded :: 3.2
244
+ .. deprecated :: 3.3
245
+ It is now possible to use :class: `classmethod ` with
246
+ :func: `abstractmethod `, making this decorator redundant.
247
+
241
248
A subclass of the built-in :func: `classmethod `, indicating an abstract
242
249
classmethod. Otherwise it is similar to :func: `abstractmethod `.
243
250
@@ -251,14 +258,14 @@ The :mod:`abc` module also provides the following decorators:
251
258
def my_abstract_classmethod(cls, ...):
252
259
...
253
260
261
+
262
+ .. decorator :: abstractstaticmethod
263
+
254
264
.. versionadded :: 3.2
255
265
.. deprecated :: 3.3
256
- It is now possible to use :class: `classmethod ` with
266
+ It is now possible to use :class: `staticmethod ` with
257
267
:func: `abstractmethod `, making this decorator redundant.
258
268
259
-
260
- .. decorator :: abstractstaticmethod
261
-
262
269
A subclass of the built-in :func: `staticmethod `, indicating an abstract
263
270
staticmethod. Otherwise it is similar to :func: `abstractmethod `.
264
271
@@ -272,23 +279,17 @@ The :mod:`abc` module also provides the following decorators:
272
279
def my_abstract_staticmethod(...):
273
280
...
274
281
275
- .. versionadded :: 3.2
276
- .. deprecated :: 3.3
277
- It is now possible to use :class: `staticmethod ` with
278
- :func: `abstractmethod `, making this decorator redundant.
279
-
280
282
281
283
.. decorator :: abstractproperty
282
284
285
+ .. deprecated :: 3.3
286
+ It is now possible to use :class: `property `, :meth: `property.getter `,
287
+ :meth: `property.setter ` and :meth: `property.deleter ` with
288
+ :func: `abstractmethod `, making this decorator redundant.
289
+
283
290
A subclass of the built-in :func: `property `, indicating an abstract
284
291
property.
285
292
286
- Using this function requires that the class's metaclass is :class: `ABCMeta `
287
- or is derived from it. A class that has a metaclass derived from
288
- :class: `ABCMeta ` cannot be instantiated unless all of its abstract methods
289
- and properties are overridden. The abstract properties can be called using
290
- any of the normal 'super' call mechanisms.
291
-
292
293
This special case is deprecated, as the :func: `property ` decorator
293
294
is now correctly identified as abstract when applied to an abstract
294
295
method::
@@ -322,12 +323,6 @@ The :mod:`abc` module also provides the following decorators:
322
323
...
323
324
324
325
325
- .. deprecated :: 3.3
326
- It is now possible to use :class: `property `, :meth: `property.getter `,
327
- :meth: `property.setter ` and :meth: `property.deleter ` with
328
- :func: `abstractmethod `, making this decorator redundant.
329
-
330
-
331
326
The :mod: `abc ` module also provides the following functions:
332
327
333
328
.. function :: get_cache_token()
0 commit comments