Числовые типы данных используются для хранения числовых значений. Python поддерживает целые числа, числа с плавающей точкой и комплексные числа. В Python они определяются как классы int, float и complex.
int
— содержит целые числа со знаком неограниченной длины.
float
— содержит числа с плавающей десятичной точкой с точностью до 15 знаков после десятичной точки.
complex
— содержит комплексные числа.
Числовые типы данных в Python
Целые числа и числа с плавающей точкой разделяются по наличию или отсутствию десятичной точки. Например,
7 — целое число;
7.34 — число с плавающей точкой.
Комплексные числа записываются в виде x + yj
, где x
— вещественная часть, y
— мнимая часть.
Мы можем использовать функцию type(), чтобы узнать, к какому классу принадлежит переменная или значение. Например:
1 2 3 4 5 6 7 8 |
num1 = 6 print(num1, 'is of type', type(num1)) num2 = 7.34 print(num2, 'is of type', type(num2)) num3 = 3+5j print(num3, 'is of type', type(num3)) |
Результат:
6 is of type <class 'int'>
7.34 is of type <class 'float'>
(3+5j) is of type <class 'complex'>
Здесь мы создали три переменные с именами num1
, num2
и num3
со значениями 6, 7.34 и 3+5j соответственно. А затем использовали функцию type(), чтобы узнать, к какому классу принадлежит определенная переменная.
Системы счисления
Числа, с которыми мы имеем дело каждый день, относятся к десятичной (основание 10) системе счисления. Но программистам приходится работать с двоичной (основание 2), восьмеричной (основание 8) и шестнадцатеричной (основание 16) системами счисления.
В Python мы можем представлять числа из разных систем счисления, помещая перед ними соответствующий префикс:
Система счисления | Префикс |
Двоичная | 0b или 0B |
Восьмеричная | 0o или 0O |
Шестнадцатеричная | 0x или 0X |
Вот несколько примеров:
1 2 3 4 5 |
print(0b1101011) # двоичная система счисления, выведет 107 print(0o15) # восьмеричная система счисления, выведет 13 print(0xFB + 0b10) # шестнадцатеричная система счисления, выведет 253 |
Преобразование числовых типов данных в Python
Преобразование типов — это процесс конвертации одного типа данных в другой. Такие операции, как сложение и вычитание, неявно (автоматически) преобразуют целые числа в числа с плавающей точкой, если один из операндов является типа float. Например:
1 |
print(1 + 2.0) # выведет 3.0 |
Здесь мы видим, что 1 (целое число) преобразуется в 1.0 (число с плавающей точкой) для сложения, и результат также является числом с плавающей точкой.
Явное преобразование числовых типов данных
Мы также можем использовать встроенные функции, такие как int()
, float()
и complex()
для выполнения явной конвертации типов данных. Например:
1 2 3 4 5 6 7 8 9 10 11 |
num1 = int(4.3) print(num1) # выведет 4 num2 = int(-3.7) print(num2) # выведет -3 num3 = float(6) print(num3) # выведет 6.0 num4 = complex('4+6j') print(num4) # выведет (4 + 6j) |
При конвертации числа с плавающей точкой в целое число, часть после десятичной точки просто удаляется. И наоборот — при конвертации из целого числа в число с плавающей точкой к исходному числу добавляется часть .0
.
Модуль random в Python
В Python модуль random используется для генерации случайных чисел или выбора случайного элемента из итератора.
Для генерации рандомных чисел сначала нужно подключить модуль random. Например:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
import random # Выводим случайное число из диапазона от 10 до 20 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()) |
Результат:
18
b
['d', 'b', 'c', 'e', 'a']
0.6716121217631744
Модуль math в Python
Python предлагает модуль math для выполнения различных математических операций, включая тригонометрию, вероятность и статистику, работу с логарифмами и т.д. Например:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
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