81 lines
2.2 KiB
Markdown
81 lines
2.2 KiB
Markdown
[Ссылка на урок](https://youtu.be/0Hbd5c5u8cY?si=Y-Quv7haLzmlXZ47)
|
|
|
|
### Функции в Python ###
|
|
```python
|
|
def say_hello_world():
|
|
"""
|
|
Функция СкажиПриветМир()
|
|
Сообщить("Привет мир");
|
|
КонецФункции
|
|
"""
|
|
print("Hello world")
|
|
|
|
|
|
# Ставим _ в цикле, если не нужен итератор цикла
|
|
for _ in range(2):
|
|
say_hello_world()
|
|
|
|
def say_me(world_1, world_2):
|
|
print("Я говорю", world_1, world_2)
|
|
|
|
|
|
res = say_me("Привет", "Мир")
|
|
print(res)
|
|
def say_return(world_1, world_2):
|
|
return world_1 + world_2
|
|
|
|
|
|
res = say_return("Привет ", "мир")
|
|
print(res)
|
|
|
|
Распаковка функций в python
|
|
# Распаковка
|
|
# Функция ПолучитьТоварСЦеной()
|
|
# Возврат Новый Структура("Товар, Цена", "Стол", 1300);
|
|
# КонецФункции
|
|
#
|
|
# Рез = ПолучитьТоварСЦеной();
|
|
# Сообщить(Рез.Товар + " " + Рез.Цена);
|
|
def get_price():
|
|
product_1 = 'Стол'
|
|
price_1 = 1300
|
|
return product_1, price_1
|
|
|
|
|
|
product, price = get_price()
|
|
print(product, price)
|
|
|
|
Документирование
|
|
|
|
print(say_hello_world.__doc__)
|
|
help(say_hello_world)
|
|
|
|
Проверка типов в python
|
|
def subtraction(num_1, num_2):
|
|
"""
|
|
Функция isinstance() создана для проверки принадлежности данных определенному классу (типу данных)
|
|
"""
|
|
if isinstance(num_1, (int, float)) and isinstance(num_2, int):
|
|
return num_1 - num_2
|
|
else:
|
|
return None
|
|
|
|
|
|
print(subtraction(10, 3))
|
|
print(subtraction(10.8, 5))
|
|
print(subtraction(10.8, 5.1))
|
|
print(subtraction("Привет", 5))
|
|
|
|
# Чистая функция не изменяет входные параметры
|
|
# Ниже пример плохой функции
|
|
price = [1500, 255, 4880, 12350]
|
|
|
|
def dirty(my_list):
|
|
num = 255 in my_list
|
|
if num:
|
|
my_list.remove(255)
|
|
return True
|
|
|
|
print(price)
|
|
dirty(price)
|
|
print(price) |