Комментарии и документация

Тренажер по Python для пользователей с начальным уровнем подготовки.

Тренажер по Python

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

Список тем

Синтаксис однострочных комментариев

id: 39946_task1

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

Заполните пропуски
input1S Объявляем переменную с именем
name = "Alice"

input2S Выводим приветствие  
print(f"Hello, {name}!")

age = 25  input3S Сохраняем возраст
Сообщения
Проверить
Показать решение на 3 сек.
Показать подсказку

Исправьте синтаксис комментариев

id: 39946_task2

В этом коде используется неправильный синтаксис комментариев из других языков программирования. Замените их на правильный синтаксис Python.

Найдите ошибку и исправьте
// Функция для расчета площади прямоугольника
def calculate_area(length, width):
    """Вычисляет площадь прямоугольника"""
    return length * width
 
/* Тестируем функцию */
result = calculate_area(5, 3)
print(result)  # Выводим результат
Сообщения
Проверить
Показать решение на 3 сек.
Показать подсказку

Оформите docstring для функции

id: 39946_task3

Создайте правильно оформленную документирующую строку (docstring) для функции сложения двух чисел. Используйте тройные кавычки и правильный оператор.

Нужно правильно расставить в пропуски предложенные варианты
def add_numbers(a, b):
    input1SСкладывает два числа и возвращает результатinput2S
    return a input3S b

# Тест функции
print(add_numbers(10, 20))  # Должно вывести 30
"""
+
-
*
/
'''
#
Сообщения
Проверить
Показать решение на 3 сек.
Показать подсказку

Влияние комментариев на выполнение кода

id: 39946_task4

Определите, что выведет этот код. Обратите внимание на то, как Python обрабатывает комментарии при выполнении программы.

Выберите правильный вариант ответа
x = 10  # x = 20
y = 5
# z = x + y
z = x - y  # Вычисляем разность
print(z)  # print(x + y)
Сообщения
Проверить
Показать подсказку

Структура Python модуля с документацией

id: 39946_task5

Соберите правильно структурированный Python модуль. Он должен начинаться с docstring модуля, затем импорты, потом функция с её docstring. Две строки являются лишними - они используют неправильный синтаксис.

Перетяните в правильном порядке строки из одного блока в другой
"""Модуль для математических вычислений."""
import math
def square(n):
    """Возвращает квадрат числа."""
    return n ** 2
# Тестируем функцию
print(square(5))
// Это неправильный комментарий
/* Многострочный комментарий */
Сообщения
Проверить
Показать решение на 3 сек.
Показать подсказку

Классификация элементов документации

id: 39946_task6

Распределите элементы по трём категориям согласно их роли в Python. Обратите внимание на синтаксис каждого элемента.

Перетяните элементы в соответствующие блоки
Комментарии
Docstrings
Обычный код
# TODO: добавить проверку
"""Функция для расчёта"""
name = "Python"
# -*- coding: utf-8 -*-
'''Класс для обработки'''
print("Hello World")
## Раздел импортов
result = 42
Сообщения
Проверить
Показать подсказку

Атрибут __doc__ функции

id: 39946_task7

Определите, что выведет обращение к атрибуту __doc__ функции. Введите точный текст, который будет выведен (без кавычек).

Что должно получиться?
def calculate(x, y):
    """Выполняет вычисление"""
    return x + y

print(calculate.__doc__)
Сообщения
Проверить
Показать подсказку

Многострочные блоки текста в Python

id: 39946_task8

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

Заполните пропуски
input1S
Этот блок текста
занимает несколько строк
и будет проигнорирован Python
input2S

class MyClass:
    input3SКласс для демонстрацииinput4S
    
    def __init__(self):
        self.value = 0
Сообщения
Проверить
Показать решение на 3 сек.
Показать подсказку

Структура docstring в стиле Google

id: 39946_task9

Расставьте строки в правильном порядке для создания функции с документацией в стиле Google. Функция должна вычислять факториал числа.

Расставьте строки в правильном порядке
def factorial(n):
    """Вычисляет факториал числа.
    Args:
        n: Целое неотрицательное число.
    Returns:
        Факториал числа n.
    """
    if n == 0:
        return 1
    return n * factorial(n - 1)
Сообщения
Проверить
Показать подсказку

Исправьте отступы в документации класса

id: 39946_task10

В коде есть проблемы с отступами docstring и форматированием инлайн-комментария. Исправьте ошибки согласно стандартам PEP 8.

Найдите ошибку и исправьте
class Calculator:
"""Класс для вычислений."""
    
    def add(self, a, b):
        """Складывает два числа."""
        result = a + b#сложение
        return result
Сообщения
Проверить
Показать решение на 3 сек.
Показать подсказку

Многострочные строки как выражения

id: 39946_task11

Проанализируйте код и определите, что будет выведено. Обратите внимание на поведение многострочных строк, которые не являются docstring.

Выберите правильный вариант ответа
def test():
    """Это docstring функции"""
    
    '''
    Это многострочная строка,
    но она не docstring и не присвоена переменной,
    поэтому Python её проигнорирует
    '''
    
    return "Результат"

print(test())
print(test.__doc__)
Сообщения
Проверить
Показать подсказку
НайтиКурс.Ру