Глава 1. Введение в Python
Язык программирования Python
Python — это язык программирования, который широко используется в интернет-приложениях, разработке программного обеспечения, науке о данных и машинном обучении (ML). Разработчики используют Python, потому что он эффективен, прост в изучении и работает на разных платформах.
Подробный гайд по установке Python 3.13
1. Загрузка установочного файла
Для установки Python 3.13 необходимо загрузить установочный файл с официального сайта.
- Откройте официальный сайт Python.
- Найдите версию Python 3.13 и нажмите кнопку Download.
- Выберите версию, соответствующую вашей операционной системе (Windows, macOS, Linux).
2. Установка Python 3.13 на Windows
2.1 Запуск установочного файла
- Откройте загруженный файл (например,
python-3.13.x.exe
). - В окне установки установите галочку Add Python to PATH, чтобы автоматически добавить Python в системные переменные.
- Нажмите Install Now для установки Python с настройками по умолчанию.
- Дождитесь завершения установки и нажмите Close.
2.2 Проверка установки
Откройте командную строку (Win + R, затем введите cmd
и нажмите Enter) и выполните команду:
python --version
Если установка прошла успешно, появится сообщение вида:
Python 3.13.x
3. Установка дополнительных инструментов
После установки Python рекомендуется установить pip (менеджер пакетов Python):
python3 -m ensurepip --default-pip
Для проверки работоспособности pip выполните:
pip --version
4. Настройка виртуального окружения (рекомендуется)
4.1 Создание виртуального окружения
python3 -m venv myenv
4.2 Активация окружения
-
Windows:
myenv\Scripts\activate
Для выхода из окружения используйте команду:
deactivate
Глава 2. Введение в написание программ
Программа на языке Python состоит из набора инструкций. Каждая инструкция помещается на новую строку. Например:
print(2 + 3)
print("Hello")
Большую роль в Python играют отступы. Неправильно поставленный отступ фактически является ошибкой. Например, в следующем случае мы получим ошибку, хотя код будет практически аналогичен приведенному выше:
print(2 + 3)
print("Hello")
Поэтому стоит помещать новые инструкции сначала строки. В этом одно из важных отличий Python от других языков программирования, как C# или Java.
Однако стоит учитывать, что некоторые конструкции языка могут состоять из нескольких строк. Например, условная конструкция if:
if 1 < 2:
print("Hello")
В данном случае, если 1 меньше 2, то выводится строка "Hello". И здесь уже должен быть отступ, так как инструкция print("Hello")
используется не сама по себе, а как часть условной конструкции if. Причем отступ, согласно руководству по оформлению кода, желательно делать из такого количества пробелов, которое кратно 4 (то есть 4, 8, 16 и т.д.). Хотя если отступов будет не 4, а 5, то программа также будет работать.
Таких конструкций не так много, поэтому особой путаницы по поводу того, где нужно, а где не нужно ставить пробелы, не должно возникнуть.
Регистрозависимость
Python - регистрозависимый язык, поэтому выражения print
и Print
или PRINT
представляют разные выражения. И если вместо метода print
для вывода на консоль мы попробуем использовать метод Print
:
Print("Hello World")
То у нас ничего не получится.
Комментарии
Для отметки того, что делает тот или иной участок кода, применяются комментарии. При трансляции и выполнении программы интерпретатор игнорирует комментарии, поэтому они не оказывают никакого влияния на работу программы. Комментарии в Python бывают блочными и строчными.
Строчные комментарии предваряются знаком решетки - #
. Они могут располагаться на отдельной строке:
# Вывод на консоль
# сообщения Hello World
print("Hello World")
Любой набор символов после знака #
представляет комментарий. То есть в примере выше первые две строки кода являются комментариями.
Также они могут располагаться на той же строке, что и инструкции языка, после выполняемых инструкций:
print("Hello World") # Вывод сообщения на консоль
В блочных комментариях до и после текста комментария ставятся три одинарные кавычки: '''текст комментария'''
. Например:
'''
Вывод на консоль
сообщения Hello World
'''
print("Hello World")
Основные функции
Python предоставляет ряд встроенных функций. Некоторые из них используются очень часто, особенно на начальных этапах изучения языка, поэтому рассмотрим их.
Основной функцией для вывода информации на консоль является функция print()
. В качестве аргумента в эту функцию передается строка, которую мы хотим вывести:
print("Hello Python")
Если же нам необходимо вывести несколько значений на консоль, то мы можем передать их в функцию print
через запятую:
print("Full name:", "Tom", "Smith")
В итоге все переданные значения склеятся через пробелы в одну строку:
Full name: Tom Smith
Если функция print
отвечает за вывод, то функция input
отвечает за ввод информации. В качестве необязательного параметра эта функция принимает приглашение к вводу и возвращает введенную строку, которую мы можем сохранить в переменную:
name = input("Введите имя: ")
print("Привет", name)
Консольный вывод:
Введите имя: Евгений
Привет Евгений
Глава 3. Переменные
Переменные предназначены для хранения данных. Название переменной в Python должно начинаться с алфавитного символа или со знака подчеркивания и может содержать алфавитно-цифровые символы и знак подчеркивания. И кроме того, название переменной не должно совпадать с названием ключевых слов языка Python. Ключевых слов не так много, их легко запомнить:
False await else import pass
None break except in raise
True class finally is return
and continue for lambda try
as def from nonlocal while
assert del global not with
async elif if or yield
Например, создадим переменную:
name = "Tom"
Здесь определена переменная name
, которая хранит строку "Tom".
Наименования переменных
В Python применяется два типа наименования переменных:
- Camel case — каждое новое подслово в наименовании переменной начинается с большой буквы. Например:
userName = "Tom"
user_name = "Tom"
Также стоит учитывать регистрозависимость, поэтому переменные name
и Name
будут представлять разные объекты:
# две разные переменные
name = "Tom"
Name = "Tom"
Определив переменную, мы можем использовать ее в программе. Например, попытаться вывести ее содержимое на консоль с помощью встроенной функции print
:
name = "Tom" # определение переменной name
print(name) # вывод значения переменной name на консоль
Глава 4. Вывод на консоль
Для вывода информации на консоль предназначена встроенная функция print()
. При вызове этой функции ей в скобках передается выводимое значение:
print("Hello 123")
Данный код выведет нам на консоль строку "Hello 123".
Особенности вывода
Отличительной особенностью этой функции является то, что по умолчанию она выводит значение на отдельной строке. Например:
print("Hello World")
print("Hello 123")
print("Hello Python")
Здесь три вызова функции print()
выводят несколько сообщений, каждое на новой строке:
Hello World
Hello 123
Hello Python
Такое поведение не всегда удобно. Например, мы хотим, чтобы все значения выводились на одной строке. Для этого нам нужно настроить поведение функции с помощью параметра end
. Этот параметр задает символы, которые добавляются в конце к выводимой строке. При применении параметра end
вызов функции print()
выглядит следующим образом:
print(значение, end = конечные_символы)
По умолчанию end
равен символу \n
, который задает перевод на следующую строку. Именно поэтому функция print
по умолчанию выводит передаваемое ей значение на отдельной строке.
Теперь определим, чтобы функция не делала перевод на следующую строку, а выводила значение на той же строке:
print("Hello World", end=" ")
print("Hello 123", end=" ")
print("Hello Python")
Теперь выводимые значения будут разделяться пробелом:
Hello World Hello 123 Hello Python
Это может быть не один символ, а набор символов:
print("Hello World", end=" and ")
print("Hello 123", end=" and ")
print("Hello Python")
В данном случае выводимые сообщения будут отделяться символами " and ":
Hello World and Hello 123 and Hello Python
Консольный ввод
Наряду с выводом на консоль мы можем получать ввод пользователя с консоли, получать вводимые данные. Для этого в Python определена функция input()
. В эту функцию передается приглашение к вводу, а результат ввода мы можем сохранить в переменную. Например, определим код для ввода пользователем имени:
name = input("Введите свое имя: ")
print(f"Ваше имя: {name}")
В данном случае в функцию input()
передается приглашение к вводу в виде строки "Введите свое имя: ". Результат функции — результат ввода пользователя — передается в переменную name
. Затем мы можем вывести значение этой переменной на консоль с помощью функции print()
. Пример работы кода:
Введите свое имя: Eugene
Ваше имя: Eugene
Еще пример с вводом нескольких значений:
name = input("Your name: ")
age = input("Your age: ")
print(f"Name: {name} Age: {age}")
Пример работы программы:
Your name: Tom
Your age: 37
Name: Tom Age: 37
Стоит учитывать, что все введенные значения рассматриваются как значения типа str
, то есть строки. И даже если мы вводим число, как в примере выше, Python будет рассматривать введенное значение как строку, а не как число.
Глава 5. Арифметические операции
Python поддерживает все распространенные арифметические операции:
Сложение
Сложение двух чисел:
print(6 + 2) # 8
Вычитание
Вычитание двух чисел:
print(6 - 2) # 4
Умножение
Умножение двух чисел:
print(6 * 2) # 12
Деление
Деление двух чисел:
print(6 / 2) # 3.0
Целочисленное деление
Целочисленное деление двух чисел:
print(7 / 2) # 3.5
print(7 // 2) # 3
Операция //
возвращает целочисленный результат деления, отбрасывая дробную часть.
Возведение в степень
Возведение числа в степень:
print(6 ** 2) # 36
Получение остатка от деления
Получение остатка от деления:
print(7 % 2) # 1
Остаток от деления числа 7 на 2 равен 1, поскольку ближайшее число, которое делится на 2 без остатка, это 6, а 7 - 6 = 1.
Приоритет операций
При последовательном использовании нескольких арифметических операций их выполнение производится в соответствии с их приоритетом. Операции с большим приоритетом выполняются первыми.
Пример:
number = 3 + 4 * 5 ** 2 + 7
print(number) # 110
Здесь в начале выполняется возведение в степень (5 ** 2
), затем результат умножается на 4, после чего происходит сложение.
Чтобы переопределить порядок операций, можно использовать скобки:
number = (3 + 4) * (5 ** 2 + 7)
print(number) # 224
Арифметические операции с присвоением
Ряд специальных операций позволяют присвоить результат операции первому операнду:
number = 10
number += 5 # Присвоение результата сложения
print(number) # 15
number -= 3 # Присвоение результата вычитания
print(number) # 12
number *= 4 # Присвоение результата умножения
print(number) # 48
Округление и функция round
При операциях с числами типа float
результат может быть не совсем точным. Для округления результата можно использовать функцию round()
.
first_number = 2.0001
second_number = 5
third_number = first_number / second_number
print(third_number) # 0.40002000000000004
В этом примере результат деления имеет дополнительные знаки после запятой. Для округления до заданного количества знаков после запятой используем round()
:
print(round(third_number)) # 0
Также можно указать количество знаков после запятой:
print(round(third_number, 4)) # 0.4000
Округление до ближайшего целого
Функция round()
округляет число до ближайшего целого. Если дробная часть числа равна 0.5, то округление производится к ближайшему четному числу:
print(round(2.49)) # 2
print(round(2.51)) # 3
print(round(2.5)) # 2 # ближайшее четное
Округление до заданного количества знаков после запятой
Округление может быть выполнено до определенного числа знаков после запятой:
print(round(2.554, 2)) # 2.55
print(round(2.5551, 2)) # 2.56
print(round(2.554999, 2)) # 2.55
print(round(2.499, 2)) # 2.5
Неожиданные результаты округления
Функция round()
может давать неожиданные результаты из-за особенностей представления чисел с плавающей запятой. Например:
print(round(2.545, 2)) # 2.54
print(round(2.555, 2)) # 2.56 # округление до четного
print(round(2.565, 2)) # 2.56
print(round(2.575, 2)) # 2.58
Это связано с тем, что числа с плавающей запятой не всегда могут быть точно представлены в памяти компьютера.
Глава 6. Условные и логические операции
Операции сравнения
Простейшие условные выражения представляют операции сравнения, которые сравнивают два значения. Python поддерживает следующие операции сравнения:
==
- ВозвращаетTrue
, если оба операнда равны, иначеFalse
.!=
- ВозвращаетTrue
, если оба операнда не равны, иначеFalse
.>
- ВозвращаетTrue
, если первый операнд больше второго.<
- ВозвращаетTrue
, если первый операнд меньше второго.>=
- ВозвращаетTrue
, если первый операнд больше или равен второму.<=
- ВозвращаетTrue
, если первый операнд меньше или равен второму.
Примеры операций сравнения:
a = 5
b = 6
result = 5 == 6 # сохраняем результат операции в переменную
print(result) # False - 5 не равно 6
print(a != b) # True
print(a > b) # False - 5 меньше 6
print(a < b) # True
bool1 = True
bool2 = False
print(bool1 == bool2) # False - bool1 не равно bool2
Операции сравнения могут сравнивать различные объекты: строки, числа, логические значения. Однако оба операнда должны представлять один и тот же тип.
Логические операции
Для создания составных условных выражений применяются логические операции. В Python имеются следующие логические операторы:
Оператор and
(логическое умножение)
Оператор and
применяется к двум операндам. Если первый операнд равен False
, то возвращается его значение. Если он равен True
, то оценивается второй операнд и возвращается его значение.
age = 22
weight = 58
result = age > 21 and weight == 58
print(result) # True
Операндом оператора and
могут быть не только логические значения. Например:
result = 4 and "w"
print(result) # w
result = 0 and "w"
print(result) # 0
В данном случае число 0
и пустая строка ""
рассматриваются как False
, все остальные числа и непустые строки эквивалентны True
.
Оператор or
(логическое сложение)
Оператор or
также применяется к двум операндам. Если первый операнд равен True
, то возвращается его значение. Если он равен False
, то оценивается второй операнд и возвращается его значение.
age = 22
isMarried = False
result = age > 21 or isMarried
print(result) # True
Пример использования оператора or
:
result = 4 or "w"
print(result) # 4
result = 0 or "w"
print(result) # w
Оператор not
(логическое отрицание)
Оператор not
возвращает True
, если выражение равно False
, и наоборот.
age = 22
isMarried = False
print(not age > 21) # False
print(not isMarried) # True
print(not 4) # False
print(not 0) # True
Оператор in
Оператор in
проверяет, содержится ли определенное значение в наборе значений. Если значение присутствует, возвращается True
, иначе False
.
message = "hello world!"
hello = "hello"
print(hello in message) # True
gold = "gold"
print(gold in message) # False
Оператор not in
Оператор not in
проверяет, отсутствует ли значение в наборе значений. Если значение отсутствует, возвращается True
, иначе False
.
message = "hello world!"
hello = "hello"
print(hello not in message) # False
gold = "gold"
print(gold not in message) # True
Глава 7. Условные конструкции
Конструкция if
Условные конструкции используются для того, чтобы направить выполнение программы в зависимости от значения условных выражений. Одна из таких конструкций - это конструкция if
, которая имеет следующее формальное определение:
if логическое_выражение:
инструкции
[elif логическое_выражение:
инструкции]
[else:
инструкции]
В самом простом виде после ключевого слова if
идет логическое выражение. Если оно возвращает True
, то выполняется блок инструкций, каждая из которых должна начинаться с новой строки и иметь отступы от начала выражения if
(отступ желательно делать в 4 пробела или количество пробелов, кратное 4):
language = "english"
if language == "english":
print("Hello")
print("End")
Поскольку в данном случае значение переменной language
равно "english"
, то выполняется блок if
, который содержит одну инструкцию - print("Hello")
. В итоге консоль выведет следующие строки:
Hello
End
Обратите внимание, что последняя строка print("End")
не имеет отступов, поэтому она не принадлежит к блоку if
и будет выполняться в любом случае, даже если условие в конструкции if
возвращает False
.
Блок else
Если нужно определить альтернативное решение на случай, если условие в if
возвращает False
, можно использовать блок else
:
language = "russian"
if language == "english":
print("Hello")
else:
print("Привет")
print("End")
В данном примере, поскольку language
не равно "english"
, выполняется блок else
с инструкцией print("Привет")
. Консоль выведет:
Привет
End
Блок else
может содержать несколько инструкций:
language = "russian"
if language == "english":
print("Hello")
print("World")
else:
print("Привет")
print("мир")
Блок elif
Если необходимо ввести несколько альтернативных условий, можно использовать дополнительные блоки elif
. Это позволяет проверить несколько условий поочередно:
language = "german"
if language == "english":
print("Hello")
print("World")
elif language == "german":
print("Hallo")
print("Welt")
else:
print("Привет")
print("мир")
Сначала Python проверяет выражение if
. Если оно равно True
, то выполняются инструкции из блока if
. Если условие возвращает False
, то Python проверяет условие из блока elif
. Если оно возвращает True
, то выполняются инструкции из блока elif
, иначе выполняется блок else
.
Можно определить несколько блоков elif
для разных условий:
language = "german"
if language == "english":
print("Hello")
elif language == "german":
print("Hallo")
elif language == "french":
print("Salut")
else:
print("Привет")
Вложенные конструкции if
Конструкция if
может содержать вложенные конструкции if
, которые позволяют проверять дополнительные условия внутри существующих блоков:
language = "english"
daytime = "morning"
if language == "english":
print("English")
if daytime == "morning":
print("Good morning")
else:
print("Good evening")
Здесь конструкция if
содержит вложенную конструкцию if/else
, которая проверяет значение переменной daytime
. Если переменная language
равна "english"
, то вложенная конструкция if/else
дополнительно проверяет, равна ли daytime
строке "morning"
.
Результат выполнения программы будет следующим:
English
Good morning
Важно учитывать, что вложенные конструкции if
должны иметь правильные отступы, чтобы программа корректно выполнялась. Например, следующий код не будет работать так, как ожидается:
language = "english"
daytime = "morning"
if language == "english":
print("English")
if daytime == "morning":
print("Good morning")
else:
print("Good evening")
Также можно использовать вложенные конструкции if/elif/else
в блоках elif
и else
:
language = "russian"
daytime = "morning"
if language == "english":
if daytime == "morning":
print("Good morning")
else:
print("Good evening")
else:
if daytime == "morning":
print("Доброе утро")
else:
print("Добрый вечер")
Глава 8. Циклы
Цикл while
Циклы позволяют выполнять некоторое действие в зависимости от соблюдения определённого условия. В языке Python есть два типа циклов: while и for.
Цикл while
Цикл while
проверяет истинность условия, и пока условие истинно, выполняются инструкции внутри цикла. Формальное определение цикла выглядит так:
while условное_выражение:
инструкции
После ключевого слова while
указывается условное выражение, и пока оно возвращает True
, выполняется блок инструкций, который идет после двоеточия. Пример:
number = 1
while number < 5:
print(f"number = {number}")
number += 1
print("Работа программы завершена")
В этом примере цикл будет выполняться, пока переменная number
меньше 5. В результате работы программы мы увидим следующий вывод:
number = 1
number = 2
number = 3
number = 4
Работа программы завершена
Блок else в цикле while
Цикл while
также может иметь дополнительный блок else
, который выполняется, когда условие становится False
. Пример:
number = 1
while number < 5:
print(f"number = {number}")
number += 1
else:
print(f"number = {number}. Работа цикла завершена")
print("Работа программы завершена")
Результат выполнения программы:
number = 1
number = 2
number = 3
number = 4
number = 5. Работа цикла завершена
Работа программы завершена
Если условие цикла изначально False
, то блок else
выполняется сразу:
number = 10
while number < 5:
print(f"number = {number}")
number += 1
else:
print(f"number = {number}. Работа цикла завершена")
print("Работа программы завершена")
Результат выполнения программы:
number = 10. Работа цикла завершена
Работа программы завершена
Цикл for
Цикл for
используется для перебора набора значений, помещая каждое значение в переменную и выполняя действия с этим значением. Формальное определение цикла выглядит так:
for переменная in набор_значений:
инструкции
Пример использования цикла for
для перебора символов строки:
message = "Hello"
for c in message:
print(c)
Результат выполнения программы:
H
e
l
l
o
Использование range() в цикле for
Вместо перебора элементов строки, в цикле for
можно использовать функцию range()
, которая генерирует последовательность чисел. Пример:
for n in range(10):
print(n, end=" ")
Результат:
0 1 2 3 4 5 6 7 8 9
Можно указать начальное значение и шаг:
for n in range(4, 10):
print(n, end=" ")
Результат:
4 5 6 7 8 9
Также можно задать шаг:
for n in range(0, 10, 2):
print(n, end=" ")
Результат:
0 2 4 6 8
Блок else в цикле for
Цикл for
также может иметь блок else
, который выполняется после завершения цикла:
message = "Hello"
for c in message:
print(c)
else:
print(f"Последний символ: {c}. Цикл завершен")
print("Работа программы завершена")
Результат:
H
e
l
l
o
Последний символ: o. Цикл завершен
Работа программы завершена
Вложенные циклы
Циклы могут быть вложены друг в друга. Рассмотрим пример вывода таблицы умножения:
i = 1
j = 1
while i < 10:
while j < 10:
print(i * j, end="\t")
j += 1
print("\n")
j = 1
i += 1
Результат:
1 2 3 4 5 6 7 8 9
2 4 6 8 10 12 14 16 18
3 6 9 12 15 18 21 24 27
4 8 12 16 20 24 28 32 36
5 10 15 20 25 30 35 40 45
6 12 18 24 30 36 42 48 54
7 14 21 28 35 42 49 56 63
8 16 24 32 40 48 56 64 72
9 18 27 36 45 54 63 72 81
Операторы break и continue
Для управления циклом используются операторы break
и continue
. Оператор break
прерывает выполнение цикла, а continue
пропускает текущую итерацию и переходит к следующей.
Пример с использованием break
:
number = 0
while number < 5:
number += 1
if number == 3: # если number = 3, выходим из цикла
break
print(f"number = {number}")
Результат:
number = 1
number = 2
Пример с использованием continue
:
number = 0
while number < 5:
number += 1
if number == 3: # если number = 3, переходим к новой итерации цикла
continue
print(f"number = {number}")
Результат:
number = 1
number = 2
number = 4
number = 5
Глава 9. Функции
Определение и использование функций
Функции представляют собой блоки кода, которые выполняют определенные задачи и могут быть многократно использованы в разных частях программы. Ранее в примерах уже использовались встроенные функции, такие как print()
, которые выводят значения на консоль. В Python можно как использовать встроенные функции, так и создавать свои собственные.
Функция определяется с помощью ключевого слова def
, после которого идет имя функции, необязательные параметры в скобках и двоеточие. Блок кода, который будет выполнять функция, расположен после двоеточия и должен иметь отступ.
Пример простой функции:
def say_hello():
print("Hello")
Эта функция say_hello()
не принимает параметров и выводит на экран сообщение "Hello".
Пример вызова функции:
say_hello()
При вызове функции say_hello()
будет выведено сообщение:
Hello
Вызов функции несколько раз:
def say_hello():
print("Hello")
say_hello()
say_hello()
say_hello()
Вывод:
Hello
Hello
Hello
Функции с параметрами
Функции могут принимать параметры. Параметры передаются при вызове функции и используются внутри неё.
Пример функции с параметрами:
def greet(name):
print(f"Hello, {name}!")
greet("Alice")
Вывод:
Hello, Alice!
Функции с несколькими параметрами:
def greet(name, age):
print(f"Hello, {name}! You are {age} years old.")
greet("Alice", 30)
Вывод:
Hello, Alice! You are 30 years old.
Локальные функции
Функции могут быть определены внутри других функций. Такие функции называются локальными и доступны только в пределах функции, в которой они были определены.
Пример локальных функций:
def print_messages():
def say_hello():
print("Hello")
def say_goodbye():
print("Good Bye")
say_hello()
say_goodbye()
print_messages()
Вывод:
Hello
Good Bye
Однако, если попытаться вызвать функцию say_hello()
вне print_messages()
, то возникнет ошибка, потому что она локальная и доступна только внутри print_messages()
.
Функция main
Для организации программы, когда имеется несколько функций, часто используется главная функция main()
, которая служит точкой входа в программу. В этой функции можно вызывать другие функции.
Пример организации программы с main
:
def main():
say_hello()
say_goodbye()
def say_hello():
print("Hello")
def say_goodbye():
print("Good Bye")
main()
Вывод:
Hello
Good Bye
Глава 10. Модули в Python
Что такое модули?
Модуль в Python — это файл, содержащий Python-код. Модули позволяют организовывать код в отдельные логические блоки, упрощая управление и повторное использование кода. Модули могут содержать функции, переменные и даже классы, которые можно импортировать в другие программы или файлы.
Как создать модуль?
Создать модуль в Python очень просто: достаточно создать файл с расширением .py
и поместить в него код. Например, создадим модуль greetings.py
, который будет содержать несколько функций для вывода приветствий:
# greetings.py
def say_hello(name):
print(f"Hello, {name}!")
def say_goodbye(name):
print(f"Goodbye, {name}!")
Теперь этот модуль можно импортировать в другие программы.
Как импортировать модуль?
Для того чтобы использовать код, содержащийся в модуле, нужно его импортировать с помощью оператора import
.
Пример импорта модуля:
import greetings
greetings.say_hello("Alice")
greetings.say_goodbye("Bob")
Вывод:
Hello, Alice!
Goodbye, Bob!
В данном примере мы импортировали модуль greetings
и использовали его функции для вывода приветствий. Обратите внимание, что для вызова функции из модуля нужно использовать синтаксис module_name.function_name()
.
Импортирование отдельных функций
Если нужно использовать только одну или несколько функций из модуля, можно импортировать их по отдельности, указав их имена:
from greetings import say_hello
say_hello("Charlie")
Вывод:
Hello, Charlie!
В этом случае мы импортировали только функцию say_hello()
и могли сразу её вызвать без указания имени модуля.
Импортирование с псевдонимом
Если имя модуля слишком длинное, можно присвоить ему псевдоним при импорте с помощью ключевого слова as
.
Пример импорта с псевдонимом:
import greetings as g
g.say_hello("David")
g.say_goodbye("Eve")
Вывод:
Hello, David!
Goodbye, Eve!
В этом примере мы импортировали модуль greetings
под псевдонимом g
, что сделало наш код более компактным.
Стандартные библиотеки и сторонние модули
Python предоставляет огромный набор стандартных библиотек, которые содержат модули для решения различных задач. Некоторые из популярных стандартных модулей:
math
— математические функции, например,math.sqrt()
,math.pi
.random
— генерация случайных чисел.os
— работа с операционной системой (например, для работы с файловой системой).datetime
— работа с датами и временем.
Помимо стандартных библиотек, можно использовать сторонние модули, которые устанавливаются через пакетный менеджер pip
. Например, requests
для работы с HTTP-запросами.
Пример использования стандартного модуля math
:
import math
print(math.sqrt(16)) # Выведет 4.0
print(math.pi) # Выведет 3.141592653589793
Установка и использование сторонних модулей
Для установки сторонних модулей используйте команду pip
в командной строке:
pip install requests
После установки модуля можно импортировать его в программу и использовать, как стандартный модуль:
import requests
response = requests.get("https://www.python.org")
print(response.status_code) # Выведет HTTP статус код ответа
Создание собственных модулей
Вы можете создавать собственные модули, которые будут включать различные функции, классы или переменные. Для этого достаточно создать файл с расширением .py
, содержащий код вашего модуля, и затем импортировать его в другие программы.
Пример создания собственного модуля:
# файл mymodule.py
def greet(name):
return f"Hello, {name}!"
# файл main.py
import mymodule
print(mymodule.greet("Alice"))
В результате будет выведено:
Hello, Alice!
Заключение
Модули в Python — это мощный инструмент для организации кода, его повторного использования и разделения программы на логические блоки. С помощью модулей можно легко использовать как стандартные библиотеки Python, так и сторонние пакеты, что значительно расширяет возможности вашего проекта.