Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Чаплыгин А.Н. Учимся програмировать вместе с Пи...doc
Скачиваний:
3
Добавлен:
01.07.2025
Размер:
3 Мб
Скачать
☆

Глава 2. Переменные, операции и выражения

И вот, наконец, мы приступаем собственно к программированию. Можете сразу запустить интерпретатор Питона. Не повредит, если вы проверите работоспособность примеров на своем компьютере и поэкспериментируете с ними. Если найдете какую-нибудь ошибку или опечатку - пишите на pythonbook@,it-arts.ru. Возможно, ваше имя появится в списке разработчиков книги.

§2.1. Значения и типы

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

"Hello world! ". Аналогичным образом мы можем вывести и число:

>» print 12 12

"Hello world! " и 12 принадлежат к различным типам: str (от англ. string - строка) и int (от англ. integer - целое число)3. Интерпретатор отличает строку от числа по кавычкам, в которые она заключена.

Если есть целые числа, то, по идее, должны быть и дробные. Давайте попробуем такую команду:

>» print 2, 4 2 4

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

>» print 2 . 4 2.4

Если вы не уверены в том, к какому типу принадлежит значение, это можно проверить так:

>» type ("Hello

wor

Id!")

<type 'str'>

>» type (12)

<type 'int'>

>» type (2.4)

<type 'float'>

Строковый тип называется в Питоне str, целочисленный носит название int, a дробный - float (от англ. floating-point number - числа с плавающей точкой).

  1. В некоторых версиях Питона эти типы носят несокращенные названия: string и integer.

  2. Такой непривычный для нас способ разделения целой и дробной части является американским стандартом записи десятичных дробей.

23

Ревизия: 170

Переменные, операции и выражения

Упражнение. Проведите самостоятельно следующий эксперимент: проверьте типы значений "12" и "2.4"? Какого они типа и почему?

Упражнение. Что произойдет, если строку "8. 53" попытаться преобразовать с целое число с помошъю функции int () ? Как решить эту проблему?

§2.2. Преобразование типов

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

Программист тоже может это делать - Питон имеет целую коллекцию встроенных функций, которые умеют преобразовывать значения одного типа в другой. Например, функция int() преобразовывает значение в целочисленный тип. Если преобразование произвести невозможно, то возникает исключение:

>» int ("32")

32

>» int ("Hello")

Traceback (most recent call

last):

File "", line 1, in ?

ValueError: invalid literal

for int():

Hello

Функция int () может приводить к целому типу и дробные числа, но не забывайте, что при преобразовании она просто отбрасывает дробную часть:

>» int(3.99999)

3

>» int(-2.3)

-2

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

>» float (32)

32.0

>» float ("3.14159";

3.14159

И, наконец, функция str () отвечает за преобразование к строковому типу. Именно ее предварительно запускает команда print:

>» str(32)

'32'

>» str(3.14149)

'3.14149'

24

Ревизия: 170

Переменные, операции и выражения

Может показаться странным, что Питон различает целое число 1 от дробного 1.0: это оно и то же число, но принадлежат к различным типам. Дело в том, что от типа значения зависит способ его хранения в памяти.