Методы и функции
Когда в программе одни и те же действия приходится выполнять в разных местах, их выносят в отдельную подпрограмму. В Python такие подпрограммы называют функциями и записывают с ключевым словом def. В языке «1С:Элемент» их называют методами и записывают с ключевым словом метод.
В Python после ключевого слова def указывают имя функции, а в скобках — параметры, после скобок ставят двоеточие. Тело функции выделяют отступами. Для возврата значения используют оператор return.
В языке «1С:Элемент» после имени метода в скобках указывают параметры. Если для параметра не задано значение по умолчанию, то необходимо указать тип параметра — после имени через двоеточие. Значения параметров по умолчанию устроены похоже: в Python их записывают как a=10, в языке «1С:Элемент» — как А = 10. Тип параметра можно не указывать — он автоматически выводится из значения по умолчанию.
Если метод возвращает значение, его тип указывают после скобок с параметрами через двоеточие, а само значение возвращают с помощью ключевого слова возврат. Тело метода необязательно выделять отступами, но это стоит делать для улучшения читаемости кода. Завершает метод символ ;.
def calculate_sum(a, b=0):
return a + b
метод ВычислитьСумму(А: Число, Б = 0): Число
возврат А + Б
;
Если метод ничего не возвращает, в Python просто не пишут оператор return. В языке «1С:Элемент» в этом случае не указывают тип возвращаемого значения — метод без типа после скобок и есть аналог функции без return.
Наконец, короткие безымянные функции. В Python для этого служат лямбда-выражения: lambda a: a * a. В языке «1С:Элемент» тоже есть лямбда-выражения, но записываются они иначе — с помощью стрелки: (A: Число) -> A * A. Смысл одинаковый: лямбда-выражение с параметром A, возвращающее квадрат числа.
numbers = [10, 15, 20, 25, 30]
even_numbers = list(filter(lambda x: x % 2 == 0, numbers))
знч Числа = [10, 15, 20, 25, 30]
знч Четные = Числа.Фильтровать(Элемент -> Элемент % 2 == 0)