Начало работы с языком
Сейчас большинство операций с кодом будет проводиться внутри файла. Если вы хотите повторить то, что происходит тут, создайте файл и пишите код туда. О том, как запустить файл, можно узнать в прошлом уроке.
Вывод
Вывод на экран
Выводимые данные можно перечислять через запятую
|
|
Так же можно проводить простые вычисления
|
|
sep =
sep
— это может быть строка, которую необходимо вставлять между значениями, по умолчанию — пробел.
Вставим список слов в print и разделим их с помощью символа новой строки. Еще раз: по умолчанию разделитель добавляет пробел между каждым словом.
|
|
\n
перенесет каждое слово на новую строку
|
|
end =
end
— это строка, которая добавляется после последнего значения. По умолчанию — это перенос на новую строку (\n
). С помощью аргумента end программист может самостоятельно определить окончание выражения print.
Предположим, есть две строки, а задача состоит в том, чтобы объединить их, оставив пробел. Для этого нужно в первой функции print указать первую строку, str1 и аргумент end с кавычками. В таком случае на экран выведутся две строки с пробелом между ними.
|
|
Возьмем другой пример, где есть функция, которая должна выводить значения списка на одной строке. Этого можно добиться с помощью такого значения аргумента end:
|
|
Переменные
Переменные содержат данные. Благодаря этому к ним можно обращаться, заново использовать, вызывать, назначать и так далее. Понимать переменные важно для работы с любой логикой в программировании. Это то, что знает любой программист вне зависимости от языка программирования, и поэтому это так важно для начинающих. Простейшее определение переменной — это именованный контейнер для данных, к которым нужно обращаться в программе. Есть 2 основные причины для этого:
- Зачастую данные — это больше чем 2 символа.
- Обычно к ним нужно обращаться по несколько раз.
Где используется?
- Сложно представить программирование без переменных. Это как обращаться к людям, не используя их имена и фамилии. Можно только представить, насколько это было бы неудобно.
- В программировании переменные используются для определения и обращения к данным разных размеров, типов и форм.
Правила использования
- При присвоении значения переменная всегда находится слева, а данные — справа.
- Имя переменной может начинаться с символа или нижнего подчеркивания (
_
), но не с числа. - Для вывода значения переменной с помощью функции print нужно передавать ее без кавычек.
- Переменные создаются по принципу:
<имя> = <значение>
. - Не смотря на поддержку русских названий переменных, рекомендуется использовать латинские названия.
- Есть негласные правила для названий. Для переменных, объектов, функций, иногда констант это snake_case (маленькми буквами, слова отделяются нижним подчеркиванием), а для классов - CamelCase (большими буквами, первая буква большая). Для констант применяется так же UPPER_CASE (большими буквами, через нижнее подчеркивание).
- Так же рекомендуется избегать транслита. Лучше назвать переменную variable, а не peremennaya.
Частые ошибки
- Начинать имя переменной с цифры.
- Использовать символы (кроме нижнего подчеркивания) в имени переменной.
- Использовать в переменной пробелы.
Примеры использования переменных
Предположим, что есть большое число: 149597970
. Оно обозначает расстояние между Солнцем и Землей в километрах.
Предположим, что к этому значению нужно обратиться для выполнения вычислений. Вместо того, чтобы каждый раз вводить его, можно просто использовать переменную. Вот так:
|
|
Разберем код примера:
Сначала создается переменная sun_to_earth
, и ей присваивается значение 149597970
.
Переменной sun_to_earth
присваивается новое значение — 149597971
.
Переменные - это место в памяти, куда можно сохранить данные.
|
|
Парочка интересных моментов языка
- При выводе на экран значение переменной никуда не девается и мы можем вывести значение сколько раз угодно
- print все еще может выводить значения одновременно с переменным
- В отличии от многих других языков в python отсутствует типизация и ему абсолютно параллельно, что мы будем присваивать переменной - новое число или новую строку. Делать мы можем это сколько раз угодно. При новом присваивании питон автоматически меняет тип переменной
- Мы можем указывать эту переменную в вычислениях, про операции с переменными и константами мы поговорим отдельно
- Мы можем резко поменять то, что хранится в переменной - было число, стало строка
Ввод
|
|
input - это функция, которая требует 1 аргумент, это строка, которая будет выведена перед вводом. Возвращает введенную строку. print - к слову, тоже функция, но на вход принимает любое количество аргументов, которые будут распечатаны. Возвращает None.
Типы данных
Основных типо данных несколько. Сейчас говорится не о всех
Тип | Описание | Пример |
---|---|---|
int | Целое число | 123 |
float | Число с плавающей точкой | 1.23 |
str | Строка | “Hello, world!” |
bool | Логическое значение | True, False |
complex | Комплексное число | 1 + 2j |
none | Значение не определено | None |
list | Список | [1, 2, 3] |
set | Множество | {1, 2, 3} |
tuple | Кортеж | (1, 2, 3) |
dict | Словарь | {1: “one”, 2: “two”} |
Строки
Про кавычки
"1"
и '1'
- эти 2 записи - одно и тоже
"строка в "кавычках""
- такая запись вызовет ошибки, изза того, что питон запутается в одинаковых кавычках
'тут "кавычки"'
- тут питон не запутался в кавычках, так как они разные
"тут 'кавычки'"
- кавычки можно комбинировать, все четыре типа кавычек ('
, "
, """
, '''
) можно комбинировать, главное, что бы строка начиналась и заканчивалась одним типом кавычек
'текст \'в\' кавычках'
- тут с помощью \
кавычки были экранизированы, и теперь питон не запутается
" 123 \" 123"
- тот же самый случай с другими кавычками
Про \
\
внутри строки отвечает за вывод некоторых символов и экранизацию, пока что просто помните, что:
\" \'
- “защищеные” от поломки кода кавычки, которые можно использовать в тексте
\\
- вывод \
без каких либо экранизаций и прочего
\n \t
- новая строка и табуляция (как при нажатии на Tab)
Про мультистроки
Иногда бывает очень много текста, который содержит переносы строк (\n
), тогда можно использовать мультистроки, который можно растягивать на любое количество строк кода, в то время как обычные - нельзя:
|
|
'''
и"""
- опять же одно и тоже- Экранизировать
'
внутри'''
или"
внутри"""
- не надо, питон запутается лишь если вы напечатаете сразу 3 кавычки подряд внутри мультстроки - Если вы сразу после первой тройной кавычки ставите перенос строки - то при выводе на экран у вас выведется одна пустая строка. Что бы этого избежать - поставьте
\
который уберет эту лишнюю пустую строку. Так же можно писать любой текст сразу после тройных кавычек вместо\
Целые числа (int), комплексные (complex) и вещественные числа (float)
Целые числа (int)
Числа в Python 3 ничем не отличаются от обычных чисел. Они поддерживают набор самых обычных математических операций:
Операция | Описание |
---|---|
x + y | Сложение |
x - y | Вычитание |
x * y | Умножение |
x / y | Деление |
x // y | Получение целой части от деления |
x % y | Остаток от деления |
-x | Смена знака числа |
abs(x) | Модуль числа |
divmod(x, y) | Пара (x // y, x % y) |
x ** y | Возведение в степень |
pow(x, y[, z]) | xy по модулю (если модуль задан) |
Длинная арфиметика
Также нужно отметить, что целые числа в python 3, в отличие от многих других языков, поддерживают длинную арифметику (однако, это требует больше памяти).
|
|
Побитовые операции
Над целыми числами также можно производить битовые операции
Операция | Описание |
---|---|
x | y | Побитовое или |
x ^ y | Побитовое исключающее или |
x & y | Побитовое и |
x « n | Битовый сдвиг влево |
x » y | Битовый сдвиг вправо |
~x | Инверсия битов |
Дополнительные методы
int.bit_length() - количество бит, необходимых для представления числа в двоичном виде, без учёта знака и лидирующих нулей.
|
|
int.to_bytes(length, byteorder, *, signed=False) - возвращает строку байтов, представляющих это число.
|
|
|
|
Системы счисления
Те, у кого в школе была информатика, знают, что числа могут быть представлены не только в десятичной системе счисления. К примеру, в компьютере используется двоичный код, и, к примеру, число 19 в двоичной системе счисления будет выглядеть как 10011. Также иногда нужно переводить числа из одной системы счисления в другую. Python для этого предоставляет несколько функций:
int([object], [основание системы счисления])
- преобразование к целому числу в десятичной системе счисления. По умолчанию система счисления десятичная, но можно задать любое основание от 2 до 36 включительно.bin(x)
- преобразование целого числа в двоичную строку.hex(х)
- преобразование целого числа в шестнадцатеричную строку.oct(х)
- преобразование целого числа в восьмеричную строку.
|
|
Вещественные числа (float)
Вещественные числа поддерживают те же операции, что и целые. Однако (из-за представления чисел в компьютере) вещественные числа неточны, и это может привести к ошибкам:
|
|
Для высокой точности используют другие объекты (например Decimal и Fraction)).
Также вещественные числа не поддерживают длинную арифметику:
|
|
Простенькие примеры работы с числами:
|
|
Дополнительные методы
-
float.as_integer_ratio()
- пара целых чисел, чьё отношение равно этому числу. -
float.is_integer()
- является ли значение целым числом. -
float.hex()
- переводит float в hex (шестнадцатеричную систему счисления). -
classmethod float.fromhex(s)
- float из шестнадцатеричной строки.
|
|
Помимо стандартных выражений для работы с числами (а в Python их не так уж и много), в составе Python есть несколько полезных модулей.
Модуль math предоставляет более сложные математические функции.
|
|
Модуль random реализует генератор случайных чисел и функции случайного выбора.
|
|
Комплексные числа (complex)
В Python встроены также и комплексные числа:
|
|
Для работы с комплексными числами используется также модуль cmath.
Завершение
Статья может быть моментами неточной. Я буду рад почитать ваши комментари :)