python3, в тексте справки (int), что описываются дескрипторы данных?

Когда вы получаете строку справки для типов int, используя help(int). Самая последняя часть:

| ----------------------------------------------------------------------
|  Data descriptors defined here:
|  
|  denominator
|      the denominator of a rational number in lowest terms
|  
|  imag
|      the imaginary part of a complex number
|  
|  numerator
|      the numerator of a rational number in lowest terms
|  
|  real
|      the real part of a complex number

Итак, это атрибуты сложного типа и класса дроби, так почему они перечислены здесь относительно целых чисел. Является ли некоторый тип глобального дескриптора данных?

1 ответ

Решение

Дело в том, что complex а также fractions.Fraction иметь атрибуты с этими именами и значениями не означает, что у инттов тоже нет таких атрибутов. Разные классы могут иметь одинаковые атрибуты:

>>> (5).denominator
1
>>> (5).imag
0
>>> (5).numerator
5
>>> (5).real
5

Они не какой-то универсальный атрибут или что-то в этом роде. int Тип просто реализует дескрипторы для этих атрибутов, для взаимодействия с другими числовыми типами. В частности, они были реализованы в соответствии с PEP 3141.

Другие вопросы по тегам