"Укус питона" 🐍
159 subscribers
45 photos
1 file
19 links
A Byte of Python (Russian), Версия 2.02

Официальная страница этой книги находится по адресу https://python.swaroopch.com , где
вы можете прочитать саму книгу, скачать её последнюю версию, купить её печатный вариант и оставить свои отзывы.
Download Telegram
A_Byte_of_Python_Rus_2.01.pdf
951.6 KB
Лучшая книга для изучения Python 3 для начинающих (160 стр.)

Наша группа: "Укус питона" 🐍
8🔥1
#python #abyteofpythoon

Перед вами перевод популярной книги «A Byte of Python» на русский язык. Настоящий перевод основан на версии 2.0 оригинальной книги и имеет версию 2.0.2 Свежую версию оригинала книги можно просмотреть здесь:

https://python.swaroopch.com 📖

Автор книги – Swaroop Chitlur.
Автор русского перевода: Владимир Смоляр 🎗
4👍1🔥1
Байт Python

«Байт Python» - это бесплатная книга по программированию с использованием языка Python. Он служит учебником или руководством по языку Python для начинающей аудитории. Если все, что вы знаете о компьютерах, - это как сохранять текстовые файлы, то эта книга для вас.

Для Python версии 3

Эта книга научит вас использовать Python версии 3. В книге также будет руководство по адаптации к более старой и более распространенной версии Python 2.

Книгой пользуется даже НАСА! Он используется в их Лаборатории реактивного движения в их проекте Deep Space Network.





Основы

Просто напечатать «Привет, Мир!» недостаточно, верно? Вы хотите сделать больше – вы
хотите ввести что-то в программу, обработать и получить нечто на выходе. В Python это
можно организовать при помощи констант и переменных, а также некоторыми другими
способами, которые будут рассмотрены в этой главе.

Комментарии

Комментарии – это то, что пишется после символа #, и представляет интерес лишь как
заметка для читающего программу.

print('Привет, Мир!) # print -- это функция

или:

# print -- это функция
print('Привет, Мир!)
3👍1
Старайтесь в своих программах писать как можно больше полезных комментариев, объясняющих:

• предположения;
• важные решения;
• важные детали;
• проблемы, которые вы пытаетесь решить;
• проблемы, которых вы пытаетесь избежать и т.д.

Текст программы говорит о том, КАК, а комментарии должны объяснять, ПОЧЕМУ.
1
Литеральные константы

Примером литеральной константы может быть число, например, 5, 1.23, 9.25e-3 или
что-нибудь вроде 'Это строка' или "It's a string!". Они называются литеральными,
потому что они «буквальны» – вы используете их значение буквально. Число 2 всегда
представляет само себя и ничего другого – это «константа», потому что её значение нельзя изменить. Поэтому всё это называется литеральными константами.
Числа в Python бывают трёх типов: целые, с плавающей точкой и комплексные.

• Примером целого числа может служить 2.
• Примерами чисел с плавающей точкой (или «плавающих» для краткости) могут
быть 3.23 и 52.3E-4. Обозначение E показывает степени числа 10. В данном случае
52.3E-4 означает 52.3 · 10−4.
• Примеры комплексных чисел: (-5+4j) и (2.3 - 4.6j)
Замечание для опытных программистов

Нет отдельного типа ‘long int’ (длинное целое). Целые числа по умолчанию могут быть
произвольной длины.
Строки

Строка – это последовательность символов. Чаще всего строки – это просто некоторые
наборы слов.

Слова могут быть как на английском языке, так и на любом другом, поддерживаемом
стандартом Unicode, что означает почти на любом языке мира.

Я могу с уверенностью сказать, что вы будете использовать строки почти в каждой вашей программе на Python. Поэтому уделите внимание тому, как работать со строками в
Python.
Одинарные кавычки

Строку можно указать, используя одинарные кавычки, как например, 'Фраза в кавычках'. Все пробелы и знаки табуляции сохранятся, как есть.

Двойные кавычки

Строки в двойных кавычках работают точно так же, как и в одинарных. Например,
"What's your name?".

Тройные кавычки

Можно указывать «многострочные» строки с использованием тройных кавычек (""" или
'''). В пределах тройных кавычек можно свободно использовать двойные или тройные
кавычки. Например:

Это многострочная строка. Это её первая строка.
Это её вторая строка.
"What's your name?", - спросил я.
Он ответил: "Bond, James Bond."
Строки неизменяемы

Это означает, что после создания строки её больше нельзя изменять. На первый взгляд
это может показаться недостатком, но на самом деле это не так. В последствии на примере
разных программ мы увидим, почему это не является ограничением.
Объединение строковых констант

Если расположить рядом две строковых константы, Python автоматически их объединит. Например, 'What\'s ' 'your name?' автоматически преобразуется в "What's your
name?".
Метод format

Иногда бывает нужно составить строку на основе каких-либо данных. Вот здесь-то и пригождается метод format().

Сохраните следующие строки в файл str_format.py:

age = 26
name = 'Swaroop'

print('Возраст {0} -- {1} лет.'.format(name, age))
print('Почему {0} забавляется с этим Python?'.format(name))

Вывод:

$ python str_format.py
Возраст Swaroop -- 26 лет.
Почему Swaroop забавляется с этим Python?

***

Как это работает:

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

Взгляните на первый случай применения обозначений, где мы пишем {0}, и это соответствует переменной name, являющейся первым аргументом метода format. Аналогично, второе обозначение {1} соответствует переменной age, являющейся вторым аргументом метода format. Заметьте, что Python начинает отсчёт с 0, поэтому первая позиция – номер 0, вторая – номер 1 и т.д.

Заметьте, мы ведь могли добиться того же самого результата и объединением строк: 'Возраст' + name + ' -- ' + str(age) + ' лет.', однако вы сами видите, как это некрасиво, и как легко в таком случае допустить ошибку. Вовторых, преобразование в строку делается методом format автоматически, в отличие от явного преобразования в нашем примере. В-третьих, используя метод format, мы можем изменить сообщение, не затрагивая используемых переменных, и наоборот.

На всякий случай имейте в виду, что цифры здесь не обязательны. Можно
было бы просто написать:

age = 26
name = 'Swaroop'

print('Возраст {} -- {} лет.'.format(name, age))
print('Почему {} забавляется с этим Python?'.format(name))

и получить такой же результат, как и ранее

***

>>> # десятичное число (.) с точностью в 3 знака для плавающих:
... '{0:.3}'.format(1/3)
'0.333'
>>> # заполнить подчёркиваниями (_) с центровкой текста (^) по ширине 11:
... '{0:_^11}'.format('hello')
'___hello___'
>>> # по ключевым словам:
... '{name} написал {book}'.format(name='Swaroop', book='A Byte of Python')
'Swaroop написал A Byte of Python'

Детально такие обозначения форматов описаны в Предложении по расширению Python PEP 3101.
Переменные

Использование одних лишь литеральных констант может скоро наскучить – нам ведь нужен способ хранения любой информации и манипулирования ею. Вот здесь на сцену выходят переменные. Слово “переменные” говорит само за себя – их значение может меняться, а значит, вы можете хранить в переменной всё, что угодно. Переменные – это просто области памяти компьютера, в которых вы храните некоторую информацию. В отличие от констант, к такой информации нужно каким-то образом получать доступ, поэтому переменным даются имена.
Имена идентификаторов

Переменные – это частный случай идентификаторов. Идентификаторы – это имена, присвоенные чему-то для его обозначения. При выборе имён для идентификаторов необходимо соблюдать следующие правила:

🔘 Первым символом идентификатора должна быть буква из алфавита (символ ASCII в верхнем или нижнем регистре, или символ Unicode), а также символ подчёркивания (“_”).

🔘 Остальная часть идентификатора может состоять из букв (символы ASCII в верхнем или нижнем регистре, а также символы Unicode), знаков подчёркивания (“_”) или цифр (0-9).

🔘 Имена идентификаторов чувствительны к регистру. Например, myname и myName – это не одно и то же. Обратите внимание на “n” в нижнем регистре в первом случае и “N” в верхнем во втором.

🔘 Примеры допустимых имён идентификаторов: i, __my_name, name_23, a1b2_c3 и любые_символы_utf8_δξѪђёўЩӆΞέά.

🔘 Примеры недопустимых имён идентификаторов: 2things, здесь есть пробелы, my-name, >a1b2_c3 и "это_в_кавычках".
Типы данных

Помните, Python рассматривает всё, что есть в программе, как объекты. Имеется в виду, в самом общем смысле. Вместо того, чтобы говорить “нечто”, мы говорим “объект”.

Замечание для программистов в объектно-ориентированном стиле Python строго объектно ориентирован в том смысле, что объектом является всё, включая числа, строки и функции.

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

1. Откройте ваш любимый редактор, например Komodo Edit.
2. Введите текст программы из примера.
3. Сохраните его в файл, указав его имя в комментарии. Я следую правилу сохранять все программы на Python с расширением .py.
4.Запустите интерпретатор командой python3 program.py Кроме того, вы можете сделать программу исполнимой, как объяснялось ранее.
Пример: Использование переменных и констант

# Имя файла : var.py

i = 5
print(i)
i = i + 1
print(i)

s = '''Это многострочная строка.
Это вторая её строчка.'''
print(s)

Вывод:

$ python var.py
5
6
Это многострочная строка.
Это вторая её строчка.
Как это работает:

Вот как эта программа работает. Сперва мы присваиваем значение константы 5 переменной i, используя оператор присваивания (=). Эта строка называется предложением и указывает, что должно быть произведено некоторое действие, и в данном случае мы связываем имя переменной i со значением 5. Затем мы печатаем значение i, используя функцию print, которая просто печатает значение переменной на экране.

Далее мы добавляем 1 к значению, хранящемуся в i и сохраняем его там. После этого мы печатаем его и получаем значение 6, что неудивительно.

Аналогичным образом мы присваиваем строковую константу переменной s, после чего печатаем её.
Замечание для программистов на статических языках программирования

Переменные используются простым присваиванием им значений. Никакого предварительного объявления или определения типа данных не требуется/применяется.
Логические и физические строки

Физическая строка – это то, что вы видите, когда набираете программу. Логическая строка – это то, что Python видит как единое предложение. Python неявно предполагает, что каждой физической строке соответствует логическая строка.

Примером логической строки может служить предложение print('Привет, Мир!') – если оно на одной строке (как вы видите это в редакторе), то эта строка также соответствует физической строке.

Python неявно стимулирует использование по одному предложению на строку, что облегчает чтение кода.

Чтобы записать более одной логической строки на одной физической строке, вам придётся явно указать это при помощи точки с запятой (;), которая отмечает конец логической строки/предложения. Например,

i = 5
print(i)

то же самое, что

i = 5;
print(i);

и то же самое может быть записано в виде

i = 5; print(i);

или даже

i = 5; print(i)

Однако я настоятельно рекомендую вам придерживаться написания одной логической строки в каждой физической строке. Таким образом вы можете обойтись совсем без точки с запятой. Кстати, я никогда не использовал и даже не встречал точки с запятой в программах на Python.

Можно использовать более одной физической строки для логической строки, но к этому следует прибегать лишь в случае очень длинных строк. Пример написания одной логической строки, занимающей несколько физических строк, приведён ниже. Это называется явным объединением строк.

s = 'Это строка. \
Это строка продолжается.'
print(s)

Это даст результат:

Это строка. Это строка продолжается.

Аналогично,

print\
(i)

то же самое, что и

print(i)