Новости
08.12.2020
Книга «Простой Python. Современный стиль программирования. 2-е изд.»
Вы начнете с основ Python и его стандартной библиотеки. Узнаете, как находить, загружать, устанавливать и использовать сторонние пакеты. Изучите лучшие практики тестирования, отладки, повторного использования кода и получите полезные советы по разработке. Примеры кода и упражнения помогут в создании приложений для различных целей.
Что изменилось? — Абсолютно новые 100 страниц (там есть котики). — Глав стало большое, но они стали короче. — Появилась глава, посвященная типам данных, переменным и именам. — Добавился рассказ о новых возможностях Python, таких как f-строки. — Обновилась информация о сторонних библиотеках. — Новые примеры кода. — Дан обзор библиотеки asyncio. — Рассмотрен новый стек технологий: контейнеры, облачные технологии, data science и машинное обучение. Что осталось неизменным? — Примеры c утками и плохими стихотворениями. Они навечно с нами.
Версии Python
Языки программирования со временем изменяются — разработчики добавляют в них новые возможности и исправляют ошибки. Примеры этой книги написаны и протестированы для версии Python 3.7. Версия 3.7 является наиболее современной на момент выхода этой книги, и о самых значимых нововведениях я расскажу. Версия 3.8 вышла в конце 2019 года — я рассмотрю самую ожидаемую функциональность(оригинальное издание выпущено до выхода версии 3.8; текущая версия — 3.8.2) Узнать, что и когда было добавлено в язык программирования Python, можно, посетив страницу docs.python.org/3/whatsnew: там представлена техническая информация. Она, скорее всего, покажется трудной для понимания, если вы только начинаете изучать Python, но может пригодиться в будущем, если вам нужно будет писать программы для компьютеров, на которых установлены другие версии Python.
Изменчивость
Изменчивость одна лишь неизменна.
Перси Шелли
Тип также определяет, можно ли значение, которое хранится в ящике, изменить — тогда это будет изменяемое значение, или оно константно — неизменяемое значение. Неизменяемый объект как будто находится в закрытом ящике с прозрачными стенками (см. рис. 2.1): увидеть значение вы можете, но не в силах его изменить. По той же аналогии изменяемый объект похож на коробку с крышкой: вы можете не только увидеть хранящееся там значение, но и изменить его, не изменив его тип.
Python является строго типизированным языком, а это означает, что тип объекта не изменяется, даже если его значение изменяемо (рис. 2.2).
Значения-литералы
Существует два вида определения данных в Python:
- как литералы;
- как переменные.
В следующих главах вы увидите, как указываются значения-литералы для разных типов данных — целые числа представляют собой последовательность цифр, дробные числа содержат десятичную точку, текстовые строки заключаются в кавычки и т. д. Но в примерах этой главы — чтобы избежать излишней сложности — мы будем использовать лишь короткие целые числа из десятичной системы счисления и один-два списка. Десятичные целые числа такие же, как числа в математике: они представляют собой последовательность цифр от 0 до 9. В главе 3 мы рассмотрим дополнительные детали работы с целыми числами (например, знаки и недесятичные системы счисления).
Переменные
Вот мы и добрались до ключевого понятия языков программирования.
Python, как и большинство других компьютерных языков, позволяет вам определять переменные — имена для значений в памяти вашего компьютера, которые вы далее будете использовать в программе.
Имена переменных в Python отвечают определенным правилам.
- Они могут содержать только следующие символы:
- буквы в нижнем регистре (от a до z);
- буквы в верхнем регистре (от A до Z);
- цифры (от 0 до 9);
- нижнее подчеркивание (_).
- Они чувствительны к регистру: thing, Thing и THING — это разные имена.
- Они должны начинаться с буквы или нижнего подчеркивания, но не с цифры.
- Python особо обрабатывает имена, которые начинаются с нижнего подчеркивания (об этом вы сможете прочитать в главе 9).
- Они не могут совпадать с зарезервированными словами Python (их также называют ключевыми).
Перед вами список зарезервированных слов:
Внутри программы Python увидеть список зарезервированных слов можно с помощью команд:
или:
Корректными являются такие имена:
- a;
- a1;
- a_b_c___95;
- _abc;
- _1a.
А следующие имена некорректны:
- 1;
- 1a;
- 1_;
- name!;
- another-name.
Присваивание
В Python символ = применяется для присваивания значения переменной.
В школе нас учили, что символ = означает «равно». Почему же во многих языках программирования, включая Python, этот символ используется для обозначения присваивания? Одна из причин — на стандартной клавиатуре отсутствуют логические альтернативы вроде стрелки влево, а символ = не слишком сбивает с толку. Кроме того, в компьютерных программах присваивание используется чаще, чем проверка на равенство.
Программы непохожи на алгебру. В школе мы имели дело с подобными уравнениями:
y = x + 12
Решить уравнение можно, подставив значение для x. Если вы зададите для x значение 5, то, поскольку 5 + 12 равно 17, значение y будет равно 17. Подставьте значение 6, и y будет равен 18. И так далее.
Строки компьютерной программы могут выглядеть как уравнения, но означают они при этом нечто иное. В Python и других компьютерных языках x и y являются переменными. Python знает, что цифра или простая последовательность цифр вроде 12 или 5 является числовым литералом. Рассмотрим небольшую программу на Python, которая схожа с этим уравнением, — она выводит на экран значение y:
Здесь мы видим большое различие между математикой и программами: в математике знак = означает равенство обеих сторон, а в программировании он означаетприсваивание: переменной слева мы присваиваем значение с правой стороны.
В программировании также принято, что все находящееся справа от знака = должно иметь значение (это называется инициализацией). Справа вы можете увидеть значение-литерал, переменную, которой было присвоено значение, или их комбинацию. Python знает, что 5 и 12 — это числовые литералы. В первой строке целочисленное значение 5 присваивается переменной х. Теперь мы можем использовать переменную х в следующей строке. Когда Python читает выражение y = x + 12, он делает следующее:
- видит знак = в середине;
- понимает, что это оператор присваивания;
- вычисляет значение с правой стороны (получает значение объекта, на который ссылается переменная х, и добавляет его к 12);
- присваивает этот результат переменной слева — y.
Теперь, введя имя у в интерактивном интерпретаторе, можно увидеть его новое значение.
Если вы начнете программу со строки y = x + 12, Python сгенерирует исключение (ошибку), поскольку переменная х еще не имеет значения:
Более подробно об исключениях можно прочитать в главе 9. На компьютерном языке мы скажем, что переменная х не была инициализирована.
В алгебре вы могли бы сделать все наоборот — присвоить значение у, чтобы подсчитать значение х. Для того, чтобы сделать это в Python, вам нужно получить значения-литералы и инициализированные переменные с правой стороны оператора присваивания до того, как присвоить значение переменной х:
С полным содержанием статьи можно ознакомиться на сайте "Хабрахабр":
https://habr.com/ru/company/piter/blog/528880/
Комментарии: 0
Пока нет комментариев