-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path7.functions.py
More file actions
73 lines (52 loc) · 1.74 KB
/
Copy path7.functions.py
File metadata and controls
73 lines (52 loc) · 1.74 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
# *** Функции ***
# встроенная функция ввода данных
# data = input("Введите данные: ")
# print (f"Вы ввели вот это - {data}")
# 1 вариант. Функция, принимающая данные (обладающая аргументами)
def func_1(arg_1):
s = arg_1 ** 2
w = s + 10
print(f"Результат: {w}")
# Вызов функции
# func_1(1000)
def func_2(a, b, c):
res = a + b + c
res += 200
print(res)
# func_2(10, 5, 2)
# аргумент может иметь значение по умолчанию
def func_3(arg_1, arg_2=100):
print(arg_1 * arg_2)
# func_3(20, 10)
# func_3(100)
# func_3(3.14)
# 2 вариант. Функция, возвращающая данные
def func_4(arg_1, arg_2):
res = arg_1 + arg_2
return res
# d = func_4(10, 10)
def func_5(x, y):
res_1 = x * y
res_2 = x / y
return res_1, res_2, x
# первый способ приема данных
d_1 = func_5(10,2)
# второй способ приема данных
a, b, c = func_5(10, 2)
# print(d_1)
# print(d_1[0])
# print(a, b, c)
# print(b)
# *** Безымянные функции (лямбда-выражения, лямбда-функции)
# Особенности:
# - всегда обладают аргументами
# - всегда возвращает результат
# Пример 1. Лямбда внутри генератора списка
my_list = [(lambda arg_1: arg_1.upper())(i) for i in "hello"]
# Пример 2. Словарь лямбда-выражений
my_lambdas = {
"*": lambda arg_1, arg_2: arg_1 * arg_2,
"+": lambda w, z: w + z
}
print(my_lambdas["+"](5,2))
print(my_lambdas["*"](5,2))