Найти тему

Python. Числа и операции с ними. Встроенные функции int(), bin(), oct(), hex(), float(), complex(), (6)

Числа и операции с ними

В Python числа могут быть целыми (int), вещественными (float) и комплексными (complex).

Целые числа (int).

Целое число в десятичной форме ничем не отличается от обыкновенного числа, например - 1

Целое число в двоичной форме имеет вид - 0b111. Перед числом стоит 0b, дальше следует само число в двоичной форме 111.

Целое число в восьмеричной форме имеет вид – 0o7. Перед числом стоит 0o (ноль и буква о), дальше следует само число в восьмеричной форме 7.

Целое число в шестнадцатеричной форме имеет вид – 0xAF. Перед числом стоит 0x, дальше следует само число в двоичной форме AF.

Существуют встроенные функции для преобразования целого числа из одной системы исчисления в другую. В двоичное число bin(), в восьмеричное число(oct()) и шестнадцатеричное число(hex().

Для преобразования в десятичное число существует встроенная функция int()

Функция int() имеет два аргумента. Первый аргумент - значение, которое нужно преобразовать в целое число, второй аргумент (необязательный) система исчисления в которой задан первый аргумент (может быть от 2 до 36), по умолчанию второй аргумент равен 10. При использовании второго аргумента отличного от 10 - первый аргумент должен быть представлен в виде строки.

Примеры:

Преобразуем строку в целое число.

>>>int('55')

55

Преобразуем вещественное число в целое число (дробная часть отбрасывается без округления):

>>>int(7.7)

7

Преобразуем число из тридцатеричной системе исчислений в целое десятичное число.

>>>int('tt', 30)

899

При использовании второго аргумента если первый аргумент функции int() представлен не строкой, получается ошибка.

>>>int(57, 3)

Traceback (most recent call last):

Python Shell, prompt 12, line 1

builtins.TypeError: int() can't convert non-string with explicit base

Для преобразования целого числа в двоичную форму используется функция bin(). Функция bin() принимает один аргумент – целое десятичное число. Возвращает строку (str).

>>>bin(8)

'0b1000'

>>>type(bin(8))

<class 'str'>

Для преобразования целого числа в восьмеричную форму используется функция oct(). Функция oct() принимает один аргумент – целое число. Возвращает строку.

>>>oct(5)

'0o5'

>>>type(oct(5))

<class 'str'>

Для преобразования целого числа в шестнадцатеричную форму используется функция hex(). Функция hex() принимает один аргумент – целое число. Возвращает строку.

>>>hex(80)

'0x50'

>>>type(hex(80))

<class 'str'>

Вещественные числа (float). Встроенная функция float()

Как я понял вещественные, числа с дробной частью и числа с плавающей запятой это разные названия числа вида: 7.0 или 77.12 и т.д и т.п.

Получить вещественное число можно с помощью функции float(). Аргумент у функции один и он может быть числом или строкой. Возвращает число типа float.

Передаем функции float() аргумент в виде целого числа.

>>>float(4)

4.0

>>>type(float(4))

<class 'float'>

Передаем функции float() аргумент в виде строки (str).

>>>float('17')

17.0

>>>type(float('17'))

<class 'float'>

Комплексные числа (complex). Встроенная функция compex()

Числа содержащие мнимую часть и имеют вид:

1+7j

Для преобразования в комплексное число есть функция complex(). Она имеет два аргумента первый действительная часть, второй аргумент мнимая часть. Оба аргумента должны быть целыми числами(int) или вещественными числами (float). Возвращает комплексное число (complex).

>>>complex(1, 4)

(1+4j)

>>>type(complex(1, 4))

<class 'complex'>

>>>complex(1.0, 4)

(1+4j)

Математику я учил давно и до сих пор так и не встретил случая, где бы я мог применить их. Так, что на данный момент можно констатировать, что в Python есть комплексные числа и это пока все.

Арифметические операторы.

+ Сложение

>>>1 + 2 сложение целого числа с целым получаем

3 целое число

>>>1.0 + 2 сложение вещественного числа с целым получаем

3.0 вещественное число

>>>3 + 5 +(1 + 7.0) если в выражении есть вещественное число результатом всегда будет

16.0 вещественное число

- Вычитание,

>>>5 – 3 Вычитаем из целого числа целое число получаем

2 целое число

>>>5 - 3.0 Вычитаем из целого числа вещественное число получаем

2.0 вещественное число

* Умножение

>>>2 * 3 Умножаем целое число на целое число получаем

6 целое число

>>>2 * 3.0 Умножаем целое число на вещественное число получаем

6.0 вещественное число

Деления в Python три:

/ Деление обыкновенное

>>>4 / 2 Делим целое число на целое число получаем

2.0 вещественное число

>>>4.0 / 2.0 Делим вещественное число на вещественное число
получаем

2.0 вещественное число

// Целочисленное деление – деление с округлением к меньшему. При таком округлении дробная часть отбрасывается, а целая часть округляется в меньшую сторону.

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

>>>5 // 2 Делим целое число на целое число получаем

2 целое число

>>>-3.0 // -2 Делим вещественное число на целое число получаем

1.0 вещественное число

В случае, когда результатом вычисления является отрицательное число, при округлении к меньшему, дробная часть отбрасывается, а целая часть числа уменьшается на единицу.

>>>5 // -2 Делим целое число на целое число получаем

-3 целое число, так то получаем -2.5, округляем к
меньшему получаем - 3

>>>-6.0 // 2.5 Делим вещественное число на вещественное число
получаем

-3.0 вещественное число

% Деление по модулю. Результатом деления по модулю является остаток от деления левой части выражения (делимого) на правую часть выражения (делитель), остаток будет всегда положительным числом.

>>>300 % 80 Делим по модулю получаем после деления на цело

60 остаток 60

>>>5.0 % 100 Делим по модулю получаем

5.0 т.к. 5 на 100 без получения дробной части не делится
ответ - 5

** Возведение в степень

>>>5 ** 2 Возводим целое число в степень тоже целое число
получаем

25 целое число

>>>2.0 ** 4 возводим вещественное число в степень (целое число)
получаем

16.0 вещественное число

Как видно из примеров если в выражении присутствует вещественное число, то ответом будет – вещественное число.

Приоритет выполнения операций как в арифметике.

>>>5 + 190 // 2 ** 2 % 10 * 5 / 4 - 2

11.75

Операции выполняются слева-направо и согласно приоритета.

1. Возведение в степень 2**2 = 4

2. Целочисленное деление 190//4=47

3. Деление по модулю 47%10=7

4. Умножение 7*5=35

5. Деление 35/4=8.75

6. Сложение 5+8.75=13.75

7. Вычитание 13.75-2=11.75

Самый старший приоритет - возведение в степень

Следующий приоритет - Умножение *, Деление /, Целочисленное деление //, Деление по модулю % у этих операция приоритет одинаковый если они встречаются в одном примере то выполняются в порядке очереди слева-направо.

Следующий приоритет у сложения + и вычитания они выполняются самыми последними.

Если необходимо поменять приоритеты операций нужно воспользоваться скобками. Операции в скобках выполняются первыми.

Это все что я вычитал про числа.

По ссылкам можно почитать мои конспекты:

Книги и курсы по Python
Книги и курсы по Python год спустя.
Встроенные функции (Built-in)
Методы словаря (Dict methods)
Методы списков (List methods)
Строковые методы (String Methods)
Библиотека os
Спецификаторы
Итерируемый тип данных
Инструкции continue, break и pass
Цикл for … in
Цикл while
Условная инструкция if
Индексация
Переменные
Встроенные функции print() и input()
Оператор присваивания
Основные типы данных
Утилита PIP
Коротко о языке

Наука
7 млн интересуются