Простой Python. современный стиль программирования - читать онлайн бесплатно полную версию книги . Страница 34

В противном случае вам пришлось бы считать их по отдельности:

>>> 9 // 5

1

>>> 9 % 5

4

Только что вы увидели кое-что новое: функцию с именем divmod, в которую

передаются целые числа 9 и 5, возвращающую двухэлементный результат, на-

зываемый кортежем. С кортежами вы познакомитесь в главе 3, а с функциями —

в главе 4.

Приоритет операций

Рассмотрим, что получится, если ввести следующее:

>>> 2 + 3 * 4

Если выполнить сложение первым, 2 + 3 равно 5, а 5 * 4 равно 20. Но если выполнить

первым умножение, 3 * 4 равно 12, а 2 + 12 равно 14. В Python, как и в большинстве

52

Глава 2. Ингредиенты Python: числа, строки и переменные

других языков, умножение имеет больший приоритет, нежели сложение, поэтому

вы увидите ответ, совпадающий со второй версией:

>>> 2 + 3 * 4

14

Как узнать приоритет той или иной операции? В приложении Е приводится

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

на практике никогда не смотрю в эти правила. Гораздо проще добавить пару ско-

бок, чтобы сгруппировать код и вычисления так, как нужно:

>>> 2 + (3 * 4)

14

Это поможет любому человеку, читающему код, точно определить его предна-

значение.

Системы счисления

Предполагается, что целые числа указываются в десятичной системе счисления,

если только вы не укажете какую-либо другую. Вам может никогда не понадо-

биться использовать другие системы счисления, но иногда они будут встречать-

ся в коде.

Как правило, у нас десять пальцев на руках и ногах (у одного из моих котов их

немного больше, но он редко использует их для счета), поэтому мы считаем: 0, 1, 2,

3, 4, 5, 6, 7, 8, 9. После этого у нас заканчиваются цифры и мы переносим единицу

на место десятки и ноль — на место единицы: 10 означает «одна десятка и ноль

единиц». У нас нет одной цифры, которая представляла бы собой 10. Далее мы

считаем: 11, 12… 19, переносим единицу, чтобы сделать 20 (две десятки и ноль еди-

ниц), и т. д.

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

как перенести единицу. В двоичной (бинарной) системе счисления единственными

цифрами являются 0 и 1. Двоичные 0 и 1 точно такие же, как и десятичные. Одна-

ко, если в этой системе сложить 1 и 1, вы получите 10 (одна десятичная двойка

плюс ноль десятичных единиц).

В Python вы можете выразить числа в трех системах счисления помимо деся-

тичной:

 0b или 0B для двоичной системы (основание 2);

 0o или 0O для восьмеричной системы (основание 8);

 0x или 0X для шестнадцатеричной системы (основание 16).