Уроки Питон №2/ 4. Целые и вещественные числа. Арифметические операции в Питоне

Урок 4. Арифметические операции

Язык Python, благодаря наличию огромного количества библиотек для решения разного рода вычислительных задач, сегодня является конкурентом таким пакетам как Matlab и Octave. Запущенный в интерактивном режиме, он, фактически, превращается в мощный калькулятор. В этом уроке речь пойдет об арифметических операциях, доступных в данном языке.

Арифметические операции будем изучать применительно к числам, причем работу с комплексными числами разберем отдельно. Также, кратко остановимся на битовых операциях, представлении чисел в разных системах исчисления и коснемся библиотеки math.

Как было сказано в предыдущем уроке, посвященном типами и модели данных Python, в этом языке существует три встроенных числовых типа данных:

  • целые числа (int);
  • вещественные числа (float);
  • комплексные числа (complex).

Если в качестве операндов некоторого арифметического выражения используются только целые числа, то результат тоже будет целое число. Исключением является операция деления, результатом которой является вещественное число. При совместном использовании целочисленных и вещественных переменных, результат будет вещественным.

Арифметические операции с целыми и вещественными числами

Все эксперименты будем производить в Python, запущенном в интерактивном режиме.

Сложение.

Складывать можно непосредственно сами числа…

>>> 3+2

5

либо переменные, но они должны предварительно быть проинициализированы.

>>> a = 3

>>> b = 2

>>> a + b

5

Результат операции сложения можно присвоить другой переменной…

>>> a = 3

>>> b = 2

>>> c = a + b

>>> print(c)

5

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

>>> a = 3

>>> b = 2

>>> a = a + b

>>> print(a)

5

сокращенная так

>>> a = 3

>>> b = 2

>>> a += b

>>> print(a)

5

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

Вычитание.

>>> 4-2

2

>>> a = 5

>>> b = 7

>>> a - b

-2

Умножение.

>>> 5 * 8

40

>>> a = 4

>>> a *= 10

>>> print(a)

40

Деление.

>>> 9 / 3

3.0

>>> a = 7

>>> b = 4

>>> a / b

1.75

Получение целой части от деления.

>>> 9 // 3

3

>>> a = 7

>>> b = 4

>>> a // b

1

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

>>> 9 % 5

4

>>> a = 7

>>> b = 4

>>> a % b

3

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

>>> 5 ** 4

625

>>> a = 4

>>> b = 3

>>> a ** b

64

Работа с комплексными числами

Для создания комплексного числа можно использовать функцию complex(a, b), в которую, в качестве первого аргумента, передается действительная часть, в качестве второго – мнимая. Либо записать число в виде  a + bj.

Рассмотрим несколько примеров.

Создание комплексного числа.

>>> z = 1 + 2j

>>> print(z)

(1+2j)

>>> x = complex(3, 2)

>>> print(x)

(3+2j)

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

>>> x + z

(4+4j)

>>> x - z

(2+0j)

>>> x * z

(-1+8j)

>>> x / z

(1.4-0.8j)

>>> x ** z

(-1.1122722036363393-0.012635185355335208j)

>>> x ** 3

(-9+46j)

У комплексного числа можно извлечь действительную и мнимую части.

>>> x = 3 + 2j

>>> x.real

3.0

>>> x.imag

2.0

Для получения комплексносопряженного число необходимо использовать метод conjugate().

>>> x.conjugate()

(3-2j)

Битовые операции

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

Побитовое И (AND).

>>> p = 9

>>> q = 3

>>> p & q  

1

Побитовое ИЛИ (OR).

>>> p | q

11

Побитовое Исключающее ИЛИ (XOR).

>>> p ^ q

10

Инверсия.

>>> ~p

-10

Сдвиг вправо и влево.

>>> p << 1

18

>>> p >> 1

4

Представление чисел в других системах счисления

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

Представление числа в шестнадцатеричной системе

>>> m = 124504

>>> hex(m)

'0x1e658'

Представление числа в восьмеричной системе

>>> oct(m)

'0o363130'

Представление числа в двоичной системе

>>> bin(m)

'0b11110011001011000'

 

Библиотека (модуль) math

В стандартную поставку Python входит библиотека math, в которой содержится большое количество часто используемых математических функций.

Для работы с данным модулем его предварительно нужно импортировать.

>>> import math

Рассмотрим наиболее часто используемые функции.

math.ceil(x)

Возвращает ближайшее целое число большее, чем x.

>>> math.ceil(3.2)

4

math.fabs(x)

Возвращает абсолютное значение числа.

>>> math.fabs(-7)

7.0

math.factorial(x)

Вычисляет факториал x.

>>> math.factorial(5)

120

math.floor(x)

Возвращает ближайшее целое число меньшее, чем x.

>>> math.floor(3.2)

3

math.exp(x)

Вычисляет e**x.       # 5**2          2.71**3

>>> math.exp(3)

20.085536923187668

math.log2(x)

Логарифм по основанию 2.

math.log10(x)

Логарифм по основанию 10.

math.log(x[   , base])

По умолчанию вычисляет логарифм по основанию e, дополнительно можно указать основание логарифма.

>>> math.log2(8)

3.0

>>> math.log10(1000)

3.0

>>> math.log(5)

1.6094379124341003

>>> math.log(4, 8)

0.6666666666666667

math.pow(x, y)

Вычисляет значение x в степени y.

>>> math.pow(3, 4)

81.0

math.sqrt(x)

Корень квадратный от x.

>>> math.sqrt(25)

5.0

Тригонометрические функции, их мы оставим без примера.

math.cos(x)

math.sin(x)

math.tan(x)

math.acos(x)

math.asin(x)

math.atan(x)

И напоследок пару констант.

math.pi

Число пи.

math.e

Число е.

Помимо перечисленных, модуль math содержит ещё много различных функций, за более подробной информацией можете обратиться на официальный сайт.

Профессиональный репетитор по математике, информатике и физике:

 

Александр Анатольевич Борцов 


КАК ВЫБРАТЬ:
связаться с Александром Анатольевичем
с помощью WhatsApp (лучше) или Telegram
+7-926-859-12-55 

C самого основания своего продвижения по службе, когда еще обучался в аспирантуре, я мечтал собрать воедино  мои основные интересы научной деятельности в области Квантовой физики и лазеров: Математику, Информатику, Физику и Обучение.

Компетентный математик и физик для школьников и студентов, кандидат физико математических наук, доктор технических наук по специальности радиофизика. Образование: Физический факультет МГУ им.М.В.Ломоносова с отличием, Специальность -Физика. Преподавал в  МЭИ, педагогический стаж более 18 лет. Является автором  монографии на английском языке "Laser Opto-Electronic Oscillator", 2020, изд. Springer. Автор более 60 ти научных публикаций в зарубежных и отечественных научных журналах по темам Квантовая Электроника, Квантовая радиофизика, Лазеры, Наноэлектроника, Лазерный оптоэлектронный генератор и др.. Хорошо   подготовит зачёту по математике и физике на 4 курс с помощью современных схем по развитию памяти. Помогает в написании работ:рефератов.

 Обучал основам Python, MathLab, Data Science и Machine Learning. 

Более 320 учащихся  поступили «на бюджет» в университеты и  ВУЗы Москвы: МГТУ, МАИ, МИРЭА и ФИ и многие другиеОпыт репетитора по математике для абитуриентов более 20 лет.Занятия ведутся дистанционно по Skype и Zoom|и очно в Москве м. Китай-город]. Есть большой опыт подготовки к экзаменам по физике и математике по англоязычным программам университетов (SAT,GMAT). По методикам и учебникам университетов готовил к экзаменам по математике и физике  студентов из Канады, Германии, Испании и  Нидерланды. Говорю по английски, владею английским, преподаю на английском математику и физику..
Занятия проводятся И очно в Москве м. Китай-город и дистанционно по Skype и Zoom

Запись на занятия

Ваше сообщение отправлено