Найти в Дзене
Машинное обучение

Пара фактов о численных типах в python.

Пара фактов о численных типах

(которые вы, возможно, не знали)

Факт 1 

В Python есть три встроенных численных типа. Кроме int и float, которыми мы обычно пользуемся, есть еще complex — комплексные числа. 

Комплексные числа много используют в математике (например, с их помощью можно брать некоторые забористые интегралы, которые обычным способом не берутся), и в физике (особенно в расчетах, связанных с электричеством и магнетизмом). 

Сконструировать комплексное число в Python можно так:

a = complex(2, 1)

 

или вот так:

a = 2 + #j

 

Получится одно и то же.

Факт 2

Все численные типы в Python унаследованы от класса Number. Проверить это можно так: 

from numbers import Number

isinstanc#True , Number) #True

isinstance(3.1#True , Number) #True

isinsta#True , Number) #True

 

Кстати, сюрприз: bool тоже унаследован от Number:

isinstance#True , Number) #True

 

Факт 3

Под капотом логический тип — те же числа, только bool имеет всего два значения: 0 и 1. Это обеспечивает нам легкое приведение True к единице, а False к нулю. 

Это же, впрочем, дает ни разу не интуитивное поведение в некоторых случаях:

 

1/False # ZeroDivisionError: division by zero

True * 1 # 1

False * 1 # 0

complex(True, 3.9) # (1+3.9j)

my_list = [1, 2, 3, 4]

my_list[False] # 1

"False"[True] # a

А, и да

Факт 4

Complex не является составным типом. Это просто объект, который принимает до двух параметров при инициализации.

Такие дела!🤗

#python

Python RU