Lesson 2
Целочисленные и плавающие числа
1. Целочисленная арифметика
Нам уже известны следующие операторы, которые могут быть применены к числам: + , - , * и ** . Оператор деления / для целых чисел дает действительное число с плавающей запятой (объект типа float ). Экспоненциальность ** также возвращает float, когда мощность отрицательная:
print(17 / 3) # дает 5.66666666667 print(2 ** 4) # дает 16 print(2 ** -2) # дает 0,25
Существует специальная операция для целочисленного деления, где остаток отбрасывается: // . Операция, которая дает остаток от такого деления, выглядит как % . Обе операции всегда дают объект типа int .
print(17 / 3) # дает 5.66666666667 print(17 // 3) # дает 5 print(17 % 3) # дает 2
2. Числа с плавающей запятой
Когда мы читаем целочисленное значение, мы читаем строку с input() а затем приводим строку в целое число с помощью функции int() . Когда мы читаем число с плавающей запятой, нам нужно отбросить строку для float с помощью float() :
x = float(input()) print(x)
Поплавки с очень большой или очень малой абсолютной величиной могут быть написаны с использованием научной нотации. Например, расстояние от Земли до Солнца составляет 1.496 · 10 11 , или 1.496e11 в Python. Масса одной молекулы воды составляет 2,99 · 10 -23 , или 2.99e-23 в Python.
Можно поместить объекты float в объекты int, отбросив часть дроби, используя функцию int() . Эта функция демонстрирует так называемое округление к нулевому поведению:
print(int(1.3)) # дает 1 print(int(1.7)) # дает 1 print(int(-1.3)) # дает -1 print(int(-1.7)) # дает -1
Существует также функция round() которая выполняет обычное округление:
print(round(1.3)) # дает 1 print(round(1.7)) # дает 2 print(round(-1.3)) # дает -1 print(round(-1.7)) # дает -2
Действительные числа с плавающей запятой не могут быть представлены с точной точностью из-за ограничений аппаратного обеспечения. Это может привести к громоздким последствиям. Подробные сведения см. В документах Python .
print(0.1 + 0.2) # дает 0.30000000000000004
3. математический модуль
Python имеет множество вспомогательных функций для вычислений с поплавками. Их можно найти в math модуле.
Чтобы использовать этот модуль, нам нужно сначала его импортировать, написав следующую инструкцию в начале программы:
import math
Например, если мы хотим найти значение потолка для x - наименьшее целое число не менее x - мы вызываем соответствующую функцию из математического модуля: math.ceil(x) . Синтаксис для вызова функций из модулей всегда один и тот же: module_name.function_name(argument_1, argument_2, ...)
import math x = math.ceil(4.2) print(x) print(math.ceil(1 + 3.8))
Существует еще один способ использования функций из модулей: для импорта определенных функций путем их именования:
from math import ceil x = 7 / 2 y = ceil(x) print(y)
Некоторые функции, относящиеся к числам - int() , round() и abs() (абсолютное значение aka moduleulus), являются встроенными и не требуют импорта.
Все функции любого стандартного модуля Python документируются на официальном веб-сайте Python. Вот описание для математического модуля . Дано описание некоторых функций:
| функция | Описание |
|---|---|
| округление | |
floor(x) | Верните пол x, наибольшее целое число меньше или равно x. |
ceil(x) | Верните потолок x, наименьшее целое число, большее или равное x. |
| Корни и логарифмы | |
sqrt(x) | Верните квадратный корень из x |
log(x) | С одним аргументом верните натуральный логарифм x (в базу e). С двумя аргументами верните логарифм x в заданную базу |
e | Математическая константа e = 2,71828 ... |
| тригонометрия | sin(x) | Вернуть синус x радианов |
asin(x) | Вернуть арксинус x, в радианах |
pi | Математическая константа π = 3.1415 ... |