ЭВТЮМИЯ

Экранирование и кодирование символов

Основы Python | 30.12.2024
33 0

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

В Python некоторые последовательности символов, начинающиеся с обратного слэша (\), интерпретируются особым образом. Такие последовательности называют управляющими символами или escape-последовательностями. Они необходимы для задания специфичных действий в тексте, таких как перенос строки, табуляция или возврат каретки.

Символ переноса строки (\n) позволяет вывести на экран несколько строк текста без использования дополнительных вызовов функции print():

poem = "Духовной жаждою томим,\nВ пустыне мрачной я влачился."
print(poem)

Здесь символ \n указывает Python, что после "Духовной жаждою томим," следует перейти на новую строку:

Циклы

Основы Python | 15.01.2025
33 0

В процессе разработки программ часто возникает необходимость многократно выполнять одни те же действия. Например, представим, что мы управляем роботом на клетчатом поле, и за одно действие можем переместить его только на одну клетку. Чтобы сдвинуть его на 3 клетки, нам придется 3 раза повторить команду перемещения:

step = 0
step += 1
print(f"Шагов сделано: {step}") 
# Вывод: Шагов сделано: 1
step += 1
print(f"Шагов сделано: {step}")
# Вывод: Шагов сделано: 2
step += 1
print(f"Шагов сделано: {step}")
# Вывод: Шагов сделано: 3

Но что, если нужно переместить робота на 100 или даже 1000 клеток? Повторять одну и ту же команду столько раз достаточно утомительно. Именно для таких ситуаций в программировании используются циклы – специальные конструкции, позволяющие многократно повторять определенный фрагмент кода, называемый телом цикла. Они существенно упрощают решение задач, связанных с многократным выполнением одинаковых действий.

Множества

Основы Python | 25.03.2025
33 0

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

При этом множества изменяемы, поэтому большинство их методов изменяют исходное множество и возвращают None.

Любую встроенную коллекцию можно преобразовать в множество с помощью функции set():

numbers = [1, 2, 2, 3, 3, 3]
print(set(numbers)) 
# Вывод: {1, 2, 3}

Создание функций

Основы Python | 21.04.2025
32 0

Python предоставляет большой набор встроенных функций, некоторыми из которых мы уже пользовались, например, print() для вывода данных на экран или len() для определения количества элементов в коллекции. Исходный код большинства встроенных функций написан на том же языке, что и сам интерпретатор Python. И если наиболее используемым интерпретатором является CPython, написанный на C, то и код многих функций написан на C. Но существует поддержка и других языков, например, интерпретатор Jython использует язык программирования Java, а IronPython – C#.

Функции, написанные один раз, можно использовать бесконечное количество раз без необходимости повторного написания их кода. Это позволяет следовать одному из основополагающих принципов программирования DRY (от англ. Don’t Repeat Yourself – Не повторяйтесь), который заключается в том, что следует избегать избыточного дублирования кода.

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

Получение данных об объекте

Основы Python | 29.06.2025
31 0

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

Когда мы работали с объектами встроенных типов данных, то достаточно легко могли выводить их на экран. Но если мы используем функцию print() с объектом собственного класса, то увидим лишь название класса и адрес этого объекта в памяти компьютера.

Давайте создадим простой класс Student для работы со студентами и выведем на экран объект этого класса:

class Student:
    def __init__(self, name: str, email: str):
        self.name = name
        self.email = email


student1 = Student("Романова Е.А.", "best_of_the_best@example.ru")
print(student1)
# Вывод: <__main__.Student object at 0x...>

Здесь вы видите имя __main__, означающее, что данный класс был определен в запускаемом файле. А также название класса объекта и адрес этого объекта в шестнадцатеричной системе счисления.

Рекурсивные функции

Основы Python | 05.05.2025
29 0

Рекурсия – это способ решения задачи, при котором функция вызывает сама себя, и такая функция называется рекурсивной.

Рекурсия позволяет, не используя цикл, разбить задачу на более мелкие, идентичные части и решать каждую из них с помощью того же самого алгоритма. Это похоже на ситуацию, когда для выполнения задания часть работы передаётся тому же исполнителю, но в более простом виде.

Рекурсия состоит из двух ключевых компонентов:

  • Базовый случай – это условие, при котором функция прекращает вызывать саму себя. Он является точкой выхода и предотвращает бесконечные вызовы.
  • Рекурсивный случай – это часть, где функция вызывает саму себя, но с измененными аргументами, чтобы каждый следующий вызов приближал функцию к базовому случаю.

Комментарии

Основы Python | 08.12.2024
28 0

Не весь код, который мы пишем, предназначен для непосредственного выполнения компьютером. Иногда нам нужно оставлять пояснения, заметки или временно отключать фрагменты кода. Для этого в программировании используются комментарии.

В Python однострочные комментарии начинаются с символа решетки (#). Все, что следует за ним до конца строки, игнорируется интерпретатором. Это позволяет добавлять в код объяснения или напоминания:

print("Привет, мир!") # Это поясняющий комментарий 

Также в комментариях можно указать ожидаемый результат выполнения кода:

print("Привет, мир!") 
# Вывод: Привет, мир!

Кроме пояснений комментарии позволяют быстро отключить отдельные участки кода без их удаления:

# Раскомментируйте эту команду, чтобы вывести сообщение
# print("Заблокированное сообщение")

Математические функции

Основы Python | 20.12.2024
28 0

Помимо базовых арифметических операций, Python предлагает набор встроенных функций, которые помогают работать с числами – это функция abs(), возвращающая модуль числа, функция round() для округления чисел, и функция pow(), эквивалентная оператору возведения в степень.

Функция abs() (от англ. absolute — абсолютный) позволяет получить абсолютное значение числа, то есть его модуль. В математике модуль представляет собой расстояние на числовой прямой от этого числа до 0. И так как расстояние не может быть отрицательным, то можно сказать, что модулем числа является это же число, но без учёта знака.

Функция abs() очень проста в использовании и в любом случае возвращает положительное значение этого же числа:

print(abs(5))
# Вывод: 5
print(abs(-10))
# Вывод: 10
print(abs(-3.14))
# Вывод: 3.14

Введение в коллекции

Основы Python | 14.02.2025
28 0

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

Коллекции в Python представлены такими типами данных, как уже хорошо знакомые нам строки, а также списки, кортежи, множества и словари.

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

Словари

Основы Python | 06.04.2025
26 0

Списки и кортежи подходят для хранения последовательности элементов, но что, если нам удобнее обращаться к элементам по какому-то имени, а не по порядковому номеру? Для этого в Python предназначены словари. Вместо того чтобы хранить элементы по порядку, словари хранят пары «ключ-значение». Они похожи на настоящие словари, где у каждого слова (ключа) есть свое определение (значение).

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

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

phone_book = {
    "Мастер": "+79315555555",  
    "Маргарита": "+79637777777"
}