Мануал для Python [Основы]

Python Logo

Глава 1. Введение в Python

Язык программирования Python

Python — это язык программирования, который широко используется в интернет-приложениях, разработке программного обеспечения, науке о данных и машинном обучении (ML). Разработчики используют Python, потому что он эффективен, прост в изучении и работает на разных платформах.

Подробный гайд по установке Python 3.13

1. Загрузка установочного файла

Для установки Python 3.13 необходимо загрузить установочный файл с официального сайта.

  1. Откройте официальный сайт Python.
  2. Найдите версию Python 3.13 и нажмите кнопку Download.
  3. Выберите версию, соответствующую вашей операционной системе (Windows, macOS, Linux).

2. Установка Python 3.13 на Windows

2.1 Запуск установочного файла

  1. Откройте загруженный файл (например, python-3.13.x.exe).
  2. В окне установки установите галочку Add Python to PATH, чтобы автоматически добавить Python в системные переменные.
  3. Нажмите Install Now для установки Python с настройками по умолчанию.
  4. Дождитесь завершения установки и нажмите 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 Активация окружения

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

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 применяется два типа наименования переменных:

Также стоит учитывать регистрозависимость, поэтому переменные 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 поддерживает следующие операции сравнения:

Примеры операций сравнения:

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 предоставляет огромный набор стандартных библиотек, которые содержат модули для решения различных задач. Некоторые из популярных стандартных модулей:

Помимо стандартных библиотек, можно использовать сторонние модули, которые устанавливаются через пакетный менеджер 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, так и сторонние пакеты, что значительно расширяет возможности вашего проекта.