mirror of
https://github.com/python/cpython.git
synced 2025-08-22 09:45:06 +00:00
Issue 4998: restore utility of __slots__ on Fraction.
(forward merge of r68813).
This commit is contained in:
parent
bc448664af
commit
c28ad27dbb
3 changed files with 19 additions and 0 deletions
|
@ -15,6 +15,8 @@ class Number(metaclass=ABCMeta):
|
|||
If you just want to check if an argument x is a number, without
|
||||
caring what kind, use isinstance(x, Number).
|
||||
"""
|
||||
__slots__ = ()
|
||||
|
||||
# Concrete numeric types must provide their own hash implementation
|
||||
__hash__ = None
|
||||
|
||||
|
@ -38,6 +40,8 @@ class Complex(Number):
|
|||
type as described below.
|
||||
"""
|
||||
|
||||
__slots__ = ()
|
||||
|
||||
@abstractmethod
|
||||
def __complex__(self):
|
||||
"""Return a builtin complex instance. Called for complex(self)."""
|
||||
|
@ -152,6 +156,8 @@ class Real(Complex):
|
|||
Real also provides defaults for the derived operations.
|
||||
"""
|
||||
|
||||
__slots__ = ()
|
||||
|
||||
@abstractmethod
|
||||
def __float__(self):
|
||||
"""Any Real can be converted to a native float object.
|
||||
|
@ -264,6 +270,8 @@ Real.register(float)
|
|||
class Rational(Real):
|
||||
""".numerator and .denominator should be in lowest terms."""
|
||||
|
||||
__slots__ = ()
|
||||
|
||||
@abstractproperty
|
||||
def numerator(self):
|
||||
raise NotImplementedError
|
||||
|
@ -287,6 +295,8 @@ class Rational(Real):
|
|||
class Integral(Rational):
|
||||
"""Integral adds a conversion to int and the bit-string operations."""
|
||||
|
||||
__slots__ = ()
|
||||
|
||||
@abstractmethod
|
||||
def __int__(self):
|
||||
"""int(self)"""
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue