28.12.2023
День седьмой 28.12.2023
Функции def
Функция это блок кода который можно выполнять многократно
def sum(a, b):
c = a + b
print(c)
a = 5
b = 3
sum(a, b) #8
a = 8
b = 12
sum(a, b) #20
Функция возвращает none если нет ключевого слова return
Функцию нужно вызвать для того что бы выполнить код внутри функции
У функции может не быть параметров. Так же можно не вызывать функцию return
def my_fn(a, b):
a = a + 1
с = a + b
return с
res = my_fn(10, 2)
print(res)
#13
1. Параметрам 'a' и 'b' присваиваются значения 10 и 2
2. Значение 'a' увеличивается на 1
3. Сумма значений 'a' и 'b' присваеватеся новой переменной 'c'
4. Возращается значение 'c'
5. Результат вызова функции присваевается переменной 'res'
6. Значение переменной 'res' выводится в терминал
Самая короткая функция
В синтаксисе пайтон обязательно должна быть хотя бы одна строка в функции. Pass это просто ключевое слово, что бы тело функции не было пустым.
def my_fn():
pass
print(my_fn())
#None
Передача неизменяемых объектов
def my_fn(a, b):
a = a + 1
c = a + b
return c
num_one = 10
num_two = 2
res = my_fn(num_one, num_two)
print(res)
print(num_one)
Передача изменяемых объектов
def increase_person_age(person):
person['age'] += 1
return person
person_one = {
'name': 'Bob',
'age': 21
}
increase_person_age(person_one)
print(person_one['age'])
#22
Функция изменяет внешний объект.
Не рекомендуется внутри функции изменять внешний объект
Как избежать изменения внутри функции внешнего объекта
Создание копии объекта
Метод .copy создает только поверхностную копию
def increase_person_age(person):
person_copy = person.copy()
person_copy['age'] += 1
return person_copy
person_one = {
'name': 'Bob',
'age': 21
}
new_person = increase_person_age(person_one)
print(new_person['age'])
#22
print(person_one['age'])
#21
Объединение списков в Python
Для объединения списков в Python можно использовать оператор “+”. Он позволяет просто складывать два списка в один.
list1 = [1, 2, 3]
list2 = [4, 5, 6]
result = list1 + list2
print(result)
#[1, 2, 3, 4, 5, 6]
Также можно использовать метод “extend()”, который добавляет элементы в конец списка.
list1 = [1, 2, 3]
list2 = [4, 5, 6]
list1.extend(list2)
print(list1)
#[1, 2, 3, 4, 5, 6]
Обратите внимание, что при использовании метода “extend()” исходный список будет изменен, в то время как при использовании оператора “+” будет создан новый список.