Книга «Изучаем Python»


Глава 2 • Переменные и простые типы данных >>>  2 + 3



Pdf көрінісі
бет28/266
Дата03.03.2023
өлшемі7,86 Mb.
#170986
түріКнига
1   ...   24   25   26   27   28   29   30   31   ...   266
Байланысты:
Изучаем Python. Программирование игр, визуализация данных, веб-приложения ( PDFDrive )

42
Глава 2 • Переменные и простые типы данных
>>> 
2 + 3

>>> 
3 - 2

>>> 
2 * 3

>>> 
3 / 2
1.5
В терминальном сеансе Python просто возвращает результат операции. Для пред-
ставления операции возведения в степень в Python используется сдвоенный знак 
умножения:
>>> 
3 ** 2
9
>>> 
3 ** 3
27
>>> 
10 ** 6
1000000
В Python также существует определенный порядок операций, что позволяет ис-
пользовать несколько операций в одном выражении. Круглые скобки используются 
для изменения порядка операций, чтобы выражение могло вычисляться в нужном 
порядке. Пример:
>>> 
2 + 3*4
14
>>> 
(2 + 3) * 4
20
Пробелы в этих примерах не влияют на то, как Python вычисляет выражения; они 
просто помогают быстрее найти приоритетные операции при чтении кода.
Вещественные числа
В Python числа, имеющие дробную часть, называются 
вещественными
(или «чис-
лами с плавающей точкой»). Обычно разработчик может просто пользоваться 
дробными значениями, не особенно задумываясь об их поведении. Просто введите 
нужные числа, а Python скорее всего сделает именно то, что вы от него хотите:
>>> 
0.1 + 0.1
0.2 
>>> 
0.2 + 0.2 
0.4 
>>> 
2 * 0.1 
0.2 
>>> 
2 * 0.2 
0.4 
Однако в некоторых ситуациях вдруг оказывается, что результат содержит неожи-
данно большое количество разрядов в дробной части:
>>> 
0.2 + 0.1
0.30000000000000004 


Числа
43
>>> 
3 * 0.1
0.30000000000000004 
Нечто подобное может произойти в любом языке; для беспокойства нет причин. 
Python пытается подобрать как можно более точное представление результата, что 
иногда бывает нелегко из-за особенностей внутреннего представления чисел в ком-
пьютерах. Пока просто не обращайте внимания на «лишние» разряды; вы узнаете, 
как поступать в подобных ситуациях, когда эта проблема станет актуальной для 
вас в проектах части II.
Предотвращение ошибок типов с использованием функции str()
Часто значение переменной должно использоваться внутри сообщения. Допустим, 
вы хотите поздравить пользователя с днем рождения. И вы написали для этого 
следующий код:
birthday.py
age = 23
message = "Happy " + age + "rd Birthday!"
print(message)
Казалось бы, программа должна вывести простое приветствие: 
Happy 23rd birthday!
Но, если запустить ее, появляется сообщение об ошибке:
Traceback (most recent call last): 
File "birthday.py", line 2, in  
message = "Happy " + age + "rd Birthday!"
 
TypeError: Can't convert 'int' object to str implicitly
На этот раз произошла 
ошибка типа
. Это означает, что Python не понимает, какую 
информацию вы используете. В данном примере Python видит, что в точке 

ис-
пользуется переменная с целочисленным значением (
int
), но не знает, как следует 
интерпретировать это значение. Дело в том, что переменная может представлять 
как число 23, так и пару отдельных символов 2 и 3. При таком использовании целых 
чисел в строках необходимо явно указать, что целое число должно использоваться 
как строка из символов. Для этого переменная передается функции 
str()
, преоб-
разующей не-строковые значения к строковому виду:
age = 23
message = "Happy " + str(age) + "rd Birthday!"
print(message)
Теперь Python понимает, что вы хотите преобразовать числовое значение 23 
в строку и вывести символы 2 и 3 в составе поздравления. Ожидаемый результат 
выводится без всяких ошибок:
Happy 23rd Birthday!
В большинстве случаев работа с числами в Python проходит достаточно тривиаль-
но. Если вы получаете неожиданные результаты, проверьте, правильно ли Python 
интерпретирует числовые данные – как числовое значение или как строку.


44

Достарыңызбен бөлісу:
1   ...   24   25   26   27   28   29   30   31   ...   266




©engime.org 2024
әкімшілігінің қараңыз

    Басты бет