Операции
Операции — это символы и ключевые слова, с помощью которых из значений составляют выражения. В Python и языке «1С:Элемент» большинство операций совпадает.
Арифметические операции
В обоих языках используют одни и те же знаки для арифметических операций: +, -, *, /, %, **. Единственное отличие — деление нацело. В Python для него используется операция //, например, запись a // b возвращает целую часть частного. В языке «1С:Элемент» нет отдельной операции деления нацело. Вместо нее выполняют обычное деление, а затем берут у результата целую часть с помощью метода ЦелаяЧасть().
a = 10
b = 4
sum = a + b # 14
difference = a - b # 6
product = a * b # 40
quotient = a / b # 2.5
remainder = a % b # 2
floor = a // b # 2
power = a ** b # 10000
знч А = 10
знч Б = 4
знч Сумма = А + Б // 14
знч Разность = А - Б // 6
знч Произведение = А * Б // 40
знч Частное = А / Б // 2.5
знч Остаток = А % Б // 2
знч ЦелаяЧасть = (А / Б).ЦелаяЧасть() // 2
знч Степень = А ** Б // 10000
В обоих языках часто используют сокращенную запись ари фметических операций:
А += Б // то же, что А = А + Б
А -= Б // то же, что А = А - Б
А *= Б // то же, что А = А * Б
А /= Б // то же, что А = А / Б
Операции сравнения
Операции сравнения совпадают полностью: ==, !=, <, >, <=, >=. Результат сравнения — логическое значение, и в обоих языках его можно использовать в условиях. Чтобы избежать ошибки компиляции при наборе выражений, в языке «1С:Элемент» необходимо ставить пробелы вокруг знаков > и <, в остальных случаях это необязательно.
def validate_age(age):
if 0 < age <= 100:
# Проверяем условие доступа к сервису
if age >= 18:
return "Доступ разрешен"
else:
return "Доступ разрешен только с 18 лет"
else:
return "Некорректный возраст. Введите значение от 0 д о 100"
метод ПроверитьВозраст(Возраст: Число): Строка
если 0 < Возраст и Возраст <= 100
// Проверяем условие доступа к сервису
если Возраст >= 18
возврат "Доступ разрешен"
иначе
возврат "Доступ разрешен только с 18 лет"
;
иначе
возврат "Некорректный возраст. Введите значение от 0 до 100"
;
;
Логические операции
В Python логические операции используют слова and, or, not, а в языке «1С:Элемент» — и, или, не.
def is_leap_year(year):
return (year % 400 == 0) or (year % 4 == 0 and year % 100 != 0)
метод ЭтоВисокосный(Год: Число): Булево
возврат (Год % 400 == 0) или (Год % 4 == 0 и Год % 100 != 0)
;
Проверка типа
Для проверки типа в Python есть функция isinstance(x, type), которая возвращает True, если значение относится к указанному типу, например: isinstance("привет", str). В язык е «1С:Элемент» для этого используют специальное ключевое слово это, например: "привет" это Строка.
value = 10
result1 = isinstance(value, (int, float)) # True
result2 = isinstance(value, str) # False
знч Значение: Число|Строка = 10
знч Результат1 = Значение это Число // Истина
знч Результат2 = Значение это Строка // Ложь
Проверка «значение отсутствует» устроена по-разному. В Python для этого служит оператор is None, например: a is None. В языке «1С:Элемент» сравнивают значение с Неопределено через обычное сравнение: А == Неопределено, дополнительный оператор не нужен.
def find_user(user_id):
users = {1: "Максим", 2: "Мария"}
return users.get(user_id)
def greet_user(user_id):
user = find_user(user_id)
if user is None:
message = "Пользователь не найден"
else:
message = f"Привет, {user}"
return message
метод НайтиПользователя(Ид: Число): Строка?
знч Пользователи = {1: "Максим", 2: "Мария"}
возврат Пользователи.ПолучитьИлиНеопределено(Ид)
;
метод ПриветствоватьПользователя(Ид: Число): Строка
знч Пользователь = НайтиПользователя(Ид)
пер Сообщение: Строка
если Пользователь == Неопределено
Сообщение = "Пользователь не найден"
иначе
Сообщение = "Привет, %Пользователь"
;
возвр ат Сообщение
;