Параметры – это переменные, которые функция использует для получения значений, переданных ей при вызове. Они позволяют функции работать с данными, переданными извне, делая её более гибкой и универсальной. Значения, которые передаются функции при её вызове, называются аргументами.
Например, встроенная функция sum() возвращает сумму всех элементов коллекции. При этом коллекция должна быть передана как первый аргумент функции, а значение параметра start, определяющее начальное значение суммы, может быть не указано вовсе, передано по имени или как второй аргумент функции:
numbers = [1, 2, 3]
print(sum(numbers))
# Вывод: 6
print(sum(numbers, start=10))
# Вывод: 16
print(sum(numbers, 10))
# Вывод: 16
Таким образом, значения параметров, то есть аргументы, могут быть переданы функции по позиции или по имени. А сами параметры функции делятся на обязательные и необязательные. Обязательные параметры должны быть переданы при каждом вызове функции, в то время как необязательные параметры могут быть опущены, и для них будет использовано значение по умолчанию.
Управление средами и пакетами в Anaconda осуществляется двумя способами: в приложении с графическим интерфейсом Anaconda Navigator или в командной строке с помощью менеджера conda.
Anaconda Navigator создан на основе conda и позволяет управлять пакетами и средами через графический пользовательский интерфейс, что особенно удобно, если вы не очень хорошо знакомы с командной строкой.
Для запуска Anaconda Navigator найдите это приложение на компьютере или запустите anaconda-navigator из терминала, если вы используете Linux.
После запуска вы увидите главное окно, на котором открыта вкладка Home. Если вы зарегистрировались в Anaconda, то с помощью кнопки Connect вы можете войти или выйти из аккаунта. Также здесь отображаются приложения, которые вы можете запустить, обновить или установить. Их можно отфильтровать с помощью выпадающего меню и выбрать, например, только установленные приложения или наоборот.
Если вы уже имеете опыт программирования на Python, то наверняка знаете, насколько важна правильная настройка рабочего окружения. Установка интерпретатора, управление версиями пакетов, создание виртуальных сред – рутинные, но обязательные задачи. Разработчикам, занимающимся анализом данных или машинным обучением, на помощь в этом приходит Anaconda.
Anaconda – это не просто менеджер пакетов, а целая экосистема, в которую входят:
- Интерпретатор Python.
- Более чем 300 автоматически устанавливаемых пакетов, включая самые популярные для работы с данными, такие как
numpy, pandas, scipy, matplotlib и многие другие.
- Доступ к публичному репозиторию Anaconda, содержащему более 8000 библиотек для анализа данных и машинного обучения с открытым исходным кодом.
- Менеджер пакетов и среды
conda.
- Коллекция приложений, включая популярные IDE и редакторы, например, Jupyter Notebook, JupyterLab и Spyder.
Важной частью любой программы являются операции ввода-вывода: получение данных от пользователя и отправка результатов обратно. В самом простом виде в Python это реализуются в виде двух встроенных функций: уже знакомой нам функции print() для вывода данных на экран, и функции input() для получения данных от пользователя.
Функция print() – одна из наиболее используемых функций в Python, позволяющая выводить различные объекты на экран.
По умолчанию все объекты разделяются пробелом, а в конце добавляется символ переноса строки (\n), поэтому каждый следующий вызов функции print() выводит данные на новой строке. Однако такое поведение можно изменить с помощью параметров sep (от англ. separator – разделитель) и end (c англ. – конец).
При изменении параметра sep все значения разделяются между собой его значением, а не пробелом. В качестве разделителя можно передать любую строку:
print(1, 2, 3, sep=" | ")
# Вывод: 1 | 2 | 3
print("Ручка", "Карандаш", "Линейка", sep="_")
# Вывод: Ручка_Карандаш_Линейка
print("x", "y", "z", sep="\t")
# Вывод: x y z
В реальной жизни данные редко хранятся в виде сплошного текста. Чаще всего они представляют собой структурированные данные, например, таблицы или словари, поэтому для их эффективного хранения требуется не просто текстовый формат .txt, а более специализированные форматы, устанавливающие строгие правила для организации данных. Например, для хранения табличных данных часто используются CSV-файлы (от англ. Comma-Separated Values – значения, разделённые запятыми).
Стандартная библиотека Python предоставляет набор модулей, позволяющий работать с файлами различных форматов, в том числе, с CSV-файлами. Для этого предназначен модуль csv, который берёт на себя всю работу по кодированию, декодированию и обработке специальных символов, позволяя программисту сосредоточиться на работе с данными.
Многие программы должны учитывать дату и время, например, при регистрации нового пользователя, создании заказа в интернет-магазине или планировании каких-то событий.
Модуль datetime в Python является основным инструментом для работы с датой и временем. Он предоставляет классы, которые позволяют хранить и манипулировать датой и временем. Для этого в нём определены четыре основных класса:
date – дата
time – время
datetime – дата и время
timedelta – временной промежуток
Для использования этих классов их следует импортировать из модуля datetime:
from datetime import date, time, datetime, timedelta
Модуль os (от англ. Operating System – операционная система) является одним из наиболее часто используемых модулей в Python. Он предоставляет программам возможность взаимодействовать с операционной системой (ОС), на которой они запущены.
Это означает, что с помощью модуля os вы можете выполнять те же операции, которые обычно делаете через командную строку или Проводник, но программно, прямо из вашего кода Python.
Главное преимущество модуля os заключается в его кроссплатформенности: он скрывает различия между операционными системами. Например, функция os.remove() удалит файл как в Windows, так и в Linux, хотя базовая системная команда для этого на этих ОС разная. Это позволяет писать код один раз, и он будет работать везде, где установлен Python.
В Python числа поддерживают широкий спектр арифметических операций, которые являются основой для выполнения математических расчетов. Возможны как самые простые операции: сложение, вычитание, умножение и деление, так и более специфичные: получение остатка от деления, целочисленное деление и возведение в степень.
Арифметические операции в Python выполняются как в математике, то есть сначала выполняется возведение в степень (**), затем – умножение (*) и деление (/, // и %), и в последнюю очередь – сложение (+) и вычитание (-). При этом операторы, имеющие одинаковый приоритет, выполняются слева направо.
Однако мы можем явно определить порядок выполнения операций используются круглые скобки. Выражения в скобках всегда вычисляются первыми:
print(2 + 2 * 2)
# Вывод: 6
print((2 + 2) * 2)
# Вывод: 8
Числовые типы данных являются основой многих вычислительных задач. В Python представлены целые, дробные, называемые числами с плавающей точкой, и комплексные числа, с которыми можно выполнять широкий спектр арифметических операций и использовать разнообразные математические функции.
Целые числа в Python представлены типом int (от англ. integer – целое число). Они широко используются в математике и программировании для представления количественных величин, порядковых номеров и многого другого.
Создать переменную целочисленного типа очень просто: достаточно присвоить ей целое числовое значение:
students = 40
age = 29
По умолчанию целые числа в Python интерпретируются как десятичные (используются цифры 0-9). Однако с помощью специальных префиксов можно задавать целые числа в других системах счисления.
В процессе разработки программ часто возникает необходимость многократно выполнять одни те же действия. Например, представим, что мы управляем роботом на клетчатом поле, и за одно действие можем переместить его только на одну клетку. Чтобы сдвинуть его на 3 клетки, нам придется 3 раза повторить команду перемещения:
step = 0
step += 1
print(f"Шагов сделано: {step}")
# Вывод: Шагов сделано: 1
step += 1
print(f"Шагов сделано: {step}")
# Вывод: Шагов сделано: 2
step += 1
print(f"Шагов сделано: {step}")
# Вывод: Шагов сделано: 3
Но что, если нужно переместить робота на 100 или даже 1000 клеток? Повторять одну и ту же команду столько раз достаточно утомительно. Именно для таких ситуаций в программировании используются циклы – специальные конструкции, позволяющие многократно повторять определенный фрагмент кода, называемый телом цикла. Они существенно упрощают решение задач, связанных с многократным выполнением одинаковых действий.