На протяжении книги я буду приводить примеры, иллюстрирующие эти утверждения.
Упражнения
Эта глава является введением в язык программирования Python. Здесь было показано, что он делает, как выглядит и где его можно применить. В конце каждой главы я буду предлагать выполнить небольшие проекты, которые помогут вам запомнить то, что вы только что прочитали, и подготовят к следующим урокам.
1. Если вы еще не установили Python 3, сделайте это сейчас. Прочтите приложение Г, чтобы узнать детали.
2. Запустите интерактивный интерпретатор Python 3. И вновь детали вы найдете в приложении Г. Интерпретатор должен вывести несколько строк о себе, а затем строку, начинающуюся с символов >>>. Перед вами приглашение для ввода команд Python.
3. Немного поэкспериментируйте с интерпретатором. Используйте его как калькулятор и наберите текст 8 * 9. Нажмите клавишу Enter, чтобы увидеть результат. Python должен вывести 72.
4. Теперь введите число 47 и нажмите клавишу Enter. Появилось ли число 47 в следующей строке?
5. Теперь введите print(47) и нажмите клавишу Enter. Появилось ли снова число 47 в следующей строке?
Глава 2. Ингредиенты Python: числа, строки и переменные
В этой главе мы рассмотрим простейшие встроенные в Python типы данных:
• булевы значения (которые имеют значение True или False);
• целые числа (вроде 42 и 100 000 000);
• числа с плавающей точкой (числа с десятичной запятой, вроде 3,14159 или экспоненты, вроде 1,0е8, что означает «один умножить на десять в восьмой степени», или 100 000 000,0);
• строки (последовательности текстовых символов).
Можно сказать, что они являются атомами. В этой главе мы будем использовать их обособленно. В главе 3 будет показано, как объединить их в молекулы.
Каждый тип имеет специфические правила использования, они по-разному обрабатываются компьютером. Мы также познакомимся с переменными (имена, которые ссылаются на данные; чуть подробнее мы поговорим о них совсем скоро).
Примеры кода, приведенные в этой главе, корректны с точки зрения Python, но они являются лишь фрагментами кода. Мы будем использовать интерактивный интерпретатор Python, вводя в него эти фрагменты и немедленно получая результат. Попробуйте запустить их самостоятельно. Вы распознаете эти примеры по приглашению >>>. В главе 4 мы начнем писать программы, которые могут работать самостоятельно.
Переменные, имена и объекты
В Python все — булевы значения, целые числа, числа с плавающей точкой, строки и даже крупные структуры данных, функции и программы — реализовано как объект. Это позволяет языку быть стабильным (и дает полезные особенности), чего не хватает некоторым другим языкам.
Объект похож на прозрачный пластиковый ящик, который содержит фрагмент данных (рис. 2.1). Объект имеет тип вроде булевых значений или целых чисел, который определяет, что можно сделать с этими данными. В реальном мире ящик с надписью «Керамика» может сообщить некоторую информацию (скорее всего, он тяжелый и лучше не ронять его на пол). Точно так же и в Python — если объект имеет тип int, вы знаете, что сможете сложить его с другим объектом типа int.
Рис. 2.1. Объект похож на коробку
Тип также определяет, можно ли изменить значение, которое хранится в ящике (изменяемое значение), или оно константно (неизменяемое значение). Неизменяемый объект можно сравнить с закрытым ящиком с окошком: вы можете увидеть значение, но не можете изменить его. В рамках той же аналогии изменяемый объект похож на открытую коробку: вы не только можете увидеть хранящееся там значение, но и изменить его, однако не можете изменить его тип.
Python является строго типизированным языком, а это означает, что тип объекта не изменится, даже если можно поменять его значение (рис. 2.2).
Рис. 2.2. Строгая типизация не означает, что нужно нажимать клавиши со строгим выражением лица
Языки программирования также позволяют вам определять переменные. Переменные являются именами, которые ссылаются на значения в памяти компьютера. Вы можете определить их для использования в своей программе. В Python символ = применяется для присваивания значения переменной.
В школе нас всех учили, что символ = означает «равно». Почему же во многих языках программирования, включая Python, этот символ используется для обозначения присваивания? Одна из причин — на стандартной клавиатуре отсутствуют логические альтернативы вроде стрелки влево, а символ = не слишком сбивает с толку. Кроме того, в компьютерных программах присваивание используется чаще проверки на равенство.