Числа, преобразование типов и математика в Python
Числовые типы данных используются для хранения числовых значений.
Python поддерживает целые числа, числа с плавающей точкой и комплексные числа. Они определяются как классы int, float и complex в Python.
int— хранит целые числа со знаком неограниченной длины.float— хранит десятичные дроби с точностью до 15 знаков после запятой.complex— хранит комплексные числа.
Числовой тип данных в Python
Целые числа и числа с плавающей точкой различаются наличием или отсутствием десятичной точки. Например,
5 — целое число
5.42 — число с плавающей точкой.
Комплексные числа записываются в форме x + yj, где x — действительная часть, а y — мнимая часть.
Мы можем использовать функцию type(), чтобы узнать, к какому классу относится переменная или значение.
Рассмотрим пример,
num1 = 5
print(num1, 'is of type', type(num1))
num2 = 5.42
print(num2, 'is of type', type(num2))
num3 = 8+2j
print(num3, 'is of type', type(num3))
Вывод
5 is of type <class 'int'>
5.42 is of type <class 'float'>
(8+2j) is of type <class 'complex'>
В приведённом выше примере мы создали три переменные с именами num1, num2 и num3 со значениями 5, 5.42 и 8+2j соответственно.
Мы также использовали функцию type(), чтобы узнать, к какому классу принадлежит определённая переменная. Поскольку,
5 — целое значение,
type()возвращаетintкак класс num1, то есть<class 'int'>5.42 — значение с плавающей точкой,
type()возвращает float как класс num2, то есть<class 'float'>1 + 2j— комплексное число,type()возвращает complex как класс num3, то есть<class 'complex'>
Системы счисления
Числа, с которыми мы работаем каждый день, относятся к десятичной системе счисления (основание 10).
Но программистам приходится работать с двоичной (основание 2), шестнадцатеричной (основание 16) и восьмеричной (основание 8) системами счисления.
В Python мы можем представить эти числа, поставив соответствующий префикс перед числом. В следующей таблице перечислены эти префиксы.
Система счисления |
Префикс |
|---|---|
Двоичная |
|
Восьмеричная |
|
Шестнадцатеричная |
|
Вот несколько примеров
print(0b1101011) # печатает 107
print(0xFB + 0b10) # печатает 253
print(0o15) # печатает 13
Преобразование типов в Python
В программировании преобразование типов — это процесс преобразования одного типа числа в другой.
Такие операции, как сложение, вычитание, преобразуют целые числа в float неявно (автоматически), если один из операндов — float. Например,
print(1 + 2.0) # печатает 3.0
Здесь видно, что 1 (целое) преобразуется в 1.0 (float) для сложения, и результат также является числом с плавающей точкой.
Явное преобразование типов
Мы также можем использовать встроенные функции, такие как int(), float() и complex(), для явного преобразования между типами. Эти функции могут даже преобразовывать из строк.
num1 = int(2.3)
print(num1) # печатает 2
num2 = int(-2.8)
print(num2) # печатает -2
num3 = float(5)
print(num3) # печатает 5.0
num4 = complex('3+5j')
print(num4) # печатает (3 + 5j)
Здесь, при преобразовании из float в integer, число усекается (десятичные части удаляются).
Аналогично, при преобразовании из integer в float, к числу добавляется .0.
Чтобы узнать больше о преобразовании типов в Python, посетите Преобразование типов в Python.
Модуль random в Python
Python предлагает модуль random для генерации случайных чисел или для выбора случайного элемента из итератора.
Сначала нам нужно импортировать модуль random. Например,
import random
print(random.randrange(10, 20))
list1 = ['a', 'b', 'c', 'd', 'e']
# получить случайный элемент из list1
print(random.choice(list1))
# перемешать list1
random.shuffle(list1)
# Вывести перемешанный list1
print(list1)
# Вывести случайный элемент
print(random.random())
Вывод
15
a
['d', 'b', 'c', 'e', 'a']
0.6716121217631744
Математика в Python
Python предлагает модуль math для выполнения различных математических операций, таких как тригонометрия, логарифмы, вероятность и статистика и т. д. Например,
import math
print(math.pi)
print(math.cos(math.pi))
print(math.exp(10))
print(math.log10(1000))
print(math.sinh(1))
print(math.factorial(6))
Вывод
3.141592653589793
-1.0
22026.465794806718
3.0
1.1752011936438014
720