В этом учебном пособии рассматриваются основные понятия Python, такие как переменные, строки, операторы, приведение типов, нарезка, функции и многое другое!

Я создал модуль для изучения некоторых важных тем, касающихся языка программирования Python. Не стесняйтесь клонировать репозиторий!

В этом учебном пособии рассматриваются основные понятия Python, такие как переменные, строки, операторы, приведение типов, нарезка, функции и многое другое!

Вот ссылка на полный код на GitHub:



Начиная

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

Комментарии

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

Переменные и оператор присваивания

В следующем разделе рассматриваются переменные и оператор присваивания. Например, my_str — это переменная, а = или += или -=.

Строки и строковые операторы

Далее идут строки и строковые операторы. Строки могут быть заключены в одинарные, двойные кавычки или многострочные строки в тройных кавычках. Строковые операторы включают оператор присваивания «=» и оператор конкатенации «+». Вы можете умножать строки, делать большие пробелы между строками, печатать новые строки и многое другое, что не показано ниже.

Числовые операторы

Вот краткий раздел о числовых операторах ниже. Мы можем манипулировать значением операндов с помощью сложения (+), вычитания (-), умножения (*), возведения в степень (**), деления (/), деления по полу (//) и деления по модулю (%).

Унарные и побитовые операторы

Унарный оператор имеет только один операнд и принимает только правый операнд. Например, приведенный ниже код вернет 3.

print(+3)

Приведенный ниже унарный оператор — это оператор побитового дополнения (~), который изменит назначенную переменную «a» на (-a — 1) или (-1 * a — 1).

Побитовые операторы работают с битами для чисел. Побитовые операторы ниже — это побитовое ИЛИ, побитовое И, побитовое исключающее ИЛИ, побитовый сдвиг вправо и побитовый сдвиг влево.

Логические операторы

Следующий раздел — это логические операторы. Булевы операторы — это логические операторы. Единственными значениями являются True и False.

Операторы сравнения

Далее приведены несколько примеров операторов сравнения. Они сообщают нам, эквивалентны ли элементы или один из них меньше/больше другого.

Приоритет оператора

В математике мы используем порядок операций. В Python мы используем приоритет операторов. Вот список приоритетов. Вы можете внимательно посмотреть на следующий веб-сайт, где я нашел список: (https://www.mathcs.emory.edu/~valerie/courses/fall10/155/resources/op_precedence.html)

Я включил краткий пример приоритета оператора ниже. Позволь мне объяснить:

14 преобразуется в 1110, что является двоичной версией 14.

3 переводится как 0011.

& является оператором побитового И, что означает, что мы должны иметь 1 в каждом числе в той же позиции, чтобы получить 1, иначе мы получим 0. Если мы посмотрим на двоичную версию 14 и 3, мы увидим первое значение в 14-битной позиции равно 1, а первое значение в 3 равно 0. Это означает, что мы получаем 0 в качестве ответа для первого сравнения значений. Второе значение также будет равно 0. Третье значение будет 1, а четвертое значение будет 0. Остается 0010 или 10. 10 — это двоичная версия 2!

Теперь мы возьмем 2 * 2, что равно 4, а затем добавим 4 к 4, что равно 8. 8 будет выводом уравнения ниже при печати.

Приведение типов

Далее идет приведение типов. Приведение типов — это способ замены одного типа на другой. Например, мы можем превратить любое целое число в число с плавающей запятой или даже превратить логическое значение в строку.

Функция «Ввод»

Функция «вход». Это позволяет нам запрашивать у пользователя ответ. Мы можем создать сценарий, чтобы предлагать пользователю несколько запросов.

Неизменяемость строк

Далее следует краткий раздел о неизменности строк. Неизменный означает, что что-то не может измениться. В первой строке кода ниже значение, присвоенное my_str, нельзя изменить, если только оно не переназначено явно. Значение testing будет существовать в памяти только один раз. Он будет иметь идентификатор, который конкретно указывает на значение.

Индексирование и нарезка

Давайте поговорим об индексации и нарезке. Перед этим я упомяну функцию «len». Функция len просто позволяет нам измерить длину строки.

Когда мы хотим получить доступ к одному элементу кода, мы можем использовать индексацию. Первый элемент в последовательности имеет индекс 0. Каждый элемент после этого увеличивается в порядке возрастания на 1. Мы используем квадратные скобки для размещения порядковых номеров.

Для нарезки мы хотим получить доступ к подразделу нашей строки, поэтому мы будем использовать более одного значения внутри наших квадратных скобок. Первое значение в квадратных скобках — это начальная точка, а второе значение — конечная точка. Точка остановки — это индекс сразу за последним элементом, который мы хотим включить. Вы также можете использовать третье значение, которое указывает значение шага. Если мы используем 2 для значения шага, мы возьмем первый элемент в индексе, пропустим один элемент, а затем возьмем следующий элемент.

Двоеточия используются для разделения индексов.

Списки

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

  • Обратите внимание, что списки отличаются от наборов тем, что наборы неупорядочены, в отличие от списков. Наборы также не могут иметь несколько одинаковых элементов, в то время как списки могут.

Список функций и методов

Мы можем использовать несколько различных методов для взаимодействия с нашими списками и получения удобочитаемого вывода. Некоторые другие методы — это метод append, который позволяет нам добавить элемент в конец списка, или метод вставки, который позволяет нам поместить элемент в определенное место в списке. Мы также можем сортировать списки, списки обратной сортировки и списки поиска.

Матрицы

Кратко коснемся матриц. Матрицы представляют собой структуру строк и столбцов. Например, мы можем взаимодействовать с матрицей, ища элемент в строке и столбце, например, находя точку (x, y) на графике. Функция len используется для определения количества строк и столбцов в матрице.

Кортежи

Следующая тема — кортежи. Кортежи — это неизменяемые последовательности, в которых мы используем круглые скобки для содержания кортежа и запятые для разделения элементов.

Списки и кортежи

Разница между использованием списков и кортежей заключается в том, что когда вы думаете, что можете не знать количество элементов, с которыми работаете, вы используете список. Когда вы пытаетесь вернуть фрагменты информации из функции или если у нас есть точка (x, y) в определенном месте, которое мы хотим смоделировать, мы используем кортеж. Вы можете создавать списки в кортежах и кортежи в списках.

Словари

Далее идут словари. Словари хранят информацию о ключе/значении. Мы используем фигурные скобки для хранения словаря и отделяем ключи от значений двоеточиями. Чтобы разделить каждую пару ключ/значение, мы будем использовать запятую. Мы можем добавлять или удалять пары, мы можем пересматривать и мы также можем печатать элементы, используя различные методы. Вот несколько примеров того, как вы можете использовать словари:

Кодировки и функции

Вот краткое замечание о строковых кодировках и функциях. По сути, строки обычно отображаются в виде символов ASCII. Мы можем перейти от символов ASCII к кодовой точке в Unicode, используя функцию «ord». Мы также можем переключиться с Unicode обратно на ASCII, используя функцию «chr». Иногда нам нужно будет использовать шестнадцатеричную форму числа. Например, символ товарного знака (™) имеет Unicode U+2122 и шестнадцатеричное значение 8482. Мы можем перетасовать символ товарного знака и соответствующие ему значения с помощью соответствующей функции.

Строковые методы

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

«Если» и «иначе»

Перейдем к «если» и «иначе». Здесь мы начинаем углубляться в условные операторы Python. Условные выражения позволяют нам добавлять логику в наш код. Условие «if» позволяет нам выполнять логическое вычисление переменных. Мы должны использовать четыре пробела после строки оператора «if». Чтобы добавить альтернативный путь кода, мы будем использовать ‘else:’.

Элиф

Если вы хотите добавить несколько условий в оператор 'if', мы будем использовать условный оператор 'elif'. . Мы можем добавить столько операторов elif вместе, сколько нам нужно. Ниже приведены несколько примеров использования ‘elif’.

Проходить

Давайте быстро коснемся «pass». Это нерабочая инструкция, к которой можно вернуться к коду позже. Это ничего не делает.

Циклы «пока»

Далее следует цикл while. Цикл while просто повторяется в зависимости от переданного ему условия.

Циклы «для»

Теперь давайте обсудим циклы for. Цикл for обычно используется, когда мы хотим выполнить код для каждого элемента в последовательности. Мы будем делать оператор цикла, используя переменные в списке большую часть времени. Мы также можем перебирать словари, строки и кортежи.

Вложенные циклы и условия

Далее идут вложенные циклы и условные операторы. Мы можем комбинировать циклы, вставляя их в условные операторы. Или мы можем вкладывать условные операторы в циклы.

Выполнение цикла

Иногда нам нужно остановить цикл или пропустить итерацию. Мы можем сделать это с помощью оператора continue и оператора break. Оператор continue заставит ближайший цикл перейти к следующей итерации. Оператор break останавливает весь цикл.

«Еще» с циклами

Предложение «else» полезно в цикле, когда мы хотим выполнить предложение «else», если оператор break не нажат. Ниже я привел пример, где дан список цветов, и мы хотим напечатать «Фиолетовый есть в списке», если не выполняется строка разрыва, в которой говорится, что код будет завершен, если фиолетовый действительно есть в списке. .

Диапазон

Следующая тема — «диапазон». Этот неизменяемый тип последовательности позволяет нам определить начальное и конечное значение. Мы также можем назначить значение шага. Значение остановки не входит в диапазон, аналогично индексированию и нарезке.

Список понятий

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

Функции

Эта тема является центральной для Python. Мы можем вызывать код несколько раз, используя функции. Ключевое слово «def» определяет параметр в функции. Двоеточие следует за строкой ключевого слова. Мы можем присвоить значение, вызвав переменную. Много раз мы будем использовать возвращаемое значение, которое отправляет значение обратно в основную программу. Например, во втором абзаце кода ниже параметр определяется как «num». Имя переменной — «add_two». Оператор return добавляет 2 к параметру «num». «Результат» создает новую переменную, которая заменяет «число» на 2. Когда мы переходим к печати «результат» мы получаем 4, потому что «num» равно 2, и мы добавили 2 к « num» с оператором return.

Параметры против аргументов

Переменные, определенные в функции, являются параметрами. Когда мы вызываем функцию, детали, которые мы назначаем для каждого параметра, являются аргументами.

Существуют позиционные аргументы, где позиция имеет значение при вызове функции. Другой тип аргумента — это аргумент ключевого слова. Мы используем это, когда хотим вызвать функцию, используя определенные имена параметров, например ключевые слова в словаре. Позиционные аргументы не могут следовать за аргументами ключевого слова.

Рекурсия

Рекурсия полезна, когда мы хотим вызвать функцию внутри себя. Если вы хотите разбить задачу на более мелкие части, полезно использовать рекурсию. В приведенном ниже примере последовательность Фибоначчи начинается с 0, а затем с 1. После этого приведенная ниже формула будет вычислять следующее число в последовательности. Мы можем вычислить конкретное число в последовательности, но только если сначала разберемся со случаями 0 и 1.

Если мы хотим вычислить элемент с большим числом в последовательности Фибоначчи, процесс добавления такого количества вызовов функций может не привести к возврату.

Генераторы

Генератор — это функция, которая делает паузу после возврата одного выполнения и ожидает запроса следующего результата. Мы используем слово «выход» для паузы, затем мы вызываем функцию генератора, чтобы дать нам значение остановки, равное 10, что позволит функции выполнять максимальное количество итераций десятки раз.

Генераторы в списки

Генераторы могут брать функции, такие как функция последовательности Фибоначчи, и превращать их в список, печатая значения в порядке последовательности.

Сферы

Давайте определим области видимости в Python. Области — это просто границы функции или класса. В приведенном ниже примере мы можем получить доступ к переменной «x» в цикле, где x ‹ 6 . Мы можем сделать это, потому что условный оператор и оператор цикла не создают области видимости.

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

Пример ниже приведет к ошибке:

def set_x():
    x = 5
set_x()
while x < 6:
   print(X)
   x += 1
print(x)

Скрытие имени

Когда имя параметра функции совпадает с именем уже определенной переменной, сначала берется функция с более высоким приоритетом. В приведенном ниже примере мы впервые видим «print» внутри функции. Функция set_x вызывается со значением 10, поэтому первое значение печати, которое вы увидите, будет «Внутренний y: 10». ». Второй «print» относится к переменной «y» вне функции, поэтому вторым значением print будет «Outer y: 5».

«Глобальное» ключевое слово

Последняя тема — это ключевое слово «глобальное». Если мы хотим изменить глобальную переменную, пример ниже покажет, как это сделать. Используя код из списка выше, мы не можем использовать параметр с таким же именем, поэтому мы изменим его на «z». Как видите, глобальная переменная все сбивает с толку, потому что наша функция set_x изменит глобальное состояние переменной «y». Теперь первый вывод на печать будет иметь y = 5, потому что глобальный y внутри функции устанавливает его вне области видимости. . Второй отпечаток будет иметь y = 10, потому что функция set_x была вызвана с 10. Третий отпечаток будет иметь а = 7.

Конец

Если вы дочитали до конца этого учебного пособия, поздравляю, и я надеюсь, что вы узнали кое-что об основах Python.

Списки, которые я создал, находятся здесь:



Дополнительные материалы на PlainEnglish.io. Подпишитесь на нашу бесплатную еженедельную рассылку новостей. Подпишитесь на нас в Twitter и LinkedIn. Посетите наш Community Discord и присоединитесь к нашему Коллективу талантов.