Wo wird der int-Wert einer int-Instanz in Python gespeichert?

Dasint Typ in Python bietet zwei Attribute mit dem Namennumerator undreal die den gleichen Inhalt haben wie__int__().

Da alle diese 3 Werte dasselbe interne Attribut zurückgeben, denke ich,real ist eine Eigenschaft wie:

@property
def real(self):
   return self.__int

Allerdings kann ich diese versteckte Eigenschaft dir nicht findendir oder aucha = int(); a._int__<tab> in IPython.

lso habe ich mir das @ angeschaQuellcod und fand dies:

static PyGetSetDef int_getset[] = {
    {"real",
     (getter)int_int, (setter)NULL,
     "the real part of a complex number",
     NULL},
    {"imag",
     (getter)int_get0, (setter)NULL,
     "the imaginary part of a complex number",
     NULL},
    {"numerator",
     (getter)int_int, (setter)NULL,
     "the numerator of a rational number in lowest terms",
     NULL},
    {"denominator",
     (getter)int_get1, (setter)NULL,
     "the denominator of a rational number in lowest terms",
     NULL},
    {NULL}  /* Sentinel */
};

Und das

static PyObject *
int_int(PyIntObject *v)
{
    if (PyInt_CheckExact(v))
        Py_INCREF(v);
    else
        v = (PyIntObject *)PyInt_FromLong(v->ob_ival);
    return (PyObject *)v;
}

Aber das ist das weiteste, was ich alleine machen kann.

Wo wird der tatsächliche Wert einer Ganzzahl in einer Ganzzahlinstanz gespeichert?

Der Hauptgrund für diese Frage ist, dass ich das @ verlängern möchfloat tippe mit einemMyFloat wo ich mich auf den Wert der Instanz beziehen möchte.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage