From 119d69daec3bde6f51c44b7293d60dfe36bef288 Mon Sep 17 00:00:00 2001 From: "FilippovDY (FilippovDY)" Date: Mon, 10 Nov 2025 10:23:48 +0300 Subject: [PATCH] Tema7/report.md --- TEMA7/report.md | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/TEMA7/report.md b/TEMA7/report.md index 536f799..a0fc854 100644 --- a/TEMA7/report.md +++ b/TEMA7/report.md @@ -59,7 +59,7 @@ help вывело справку по функции uspeh в модуле main. 16 больше 5 ``` -Так как мы не указали какой тип данных должна принимать функция, то функция сможет работать с любыми данными, котороые можно сравнить. Если нельзя сравнить, вернется TypeError. +Так как мы не указали какой тип данных должна принимать функция, то функция сможет работать с любыми данными, которые можно сравнить. Если нельзя сравнить, вернется TypeError. ```py >>> n,m='aaa', 'bbbb';sravnenie(n,m) aaa меньше bbbb @@ -98,11 +98,12 @@ aaa меньше bbbb >>> q=slozh(b1,b2,b3,b4) #Сложение списков >>> q [1, 2, -1, -2, 0, 2, -1, -1] ->>> c1=(1,2); c2=(-1,-2); c3= (0,2); c4=(-1,-1) +>>> c1=(1,2); c2=(-1,-2); c3= (0,2); c4=(-1,-1) >>> q=slozh(c1,c2,c3,c4) #Сложение кортежей >>> q (1, 2, -1, -2, 0, 2, -1, -1) + q = slozh({1,1}, {2,2}, {"abc"}, {3,3}) # Сложение множеств Traceback (most recent call last): File "", line 1, in @@ -176,7 +177,7 @@ inerz(x, T, ypred) ypred - предыдущее значение выхода устройства ``` -Этот атрибут __doc__ содержит значение docstring, если при инициализации функции он был задан. Если не был, то inerz.__doc__ будет иметь значение None. +Атрибут __doc__ содержит значение docstring, если при инициализации функции он был задан. Если не был, то inerz.__doc__ будет иметь значение None. ## 3.2 Сохранение ссылки на объект-функции в другой переменной @@ -257,7 +258,7 @@ Python передаёт ссылку на объект функции logistfun [1, 2, -1, -2, 0, 2, -1, -1] ``` -Со звёздочкой коллекции передаются как набор аргументов функции. Это - "оператор распаковки". Это было бы эквивалентно записи slozh(b1,b2,b3,b4). +Со звёздочкой коллекции передаются как набор аргументов функции. * - "оператор распаковки". Это было бы эквивалентно записи slozh(b1,b2,b3,b4). ## 4.5 Пример со значениями аргументов функции, содержащимися в словаре @@ -315,7 +316,7 @@ Python передаёт ссылку на объект функции logistfun Подобным же образом в списке аргументов функции также можно использовать словарь, предварив его имя двумя звездочками. ```py ->>> def func4(a,b=7,**dct1): #Аргументы: a-позиционный, b- по умолчанию + кортеж +>>> def func4(a,b=7,**dct1): #Аргументы: a-позиционный, b- по умолчанию + словарь ... """Словарь - сборка аргументов - должен быть последним!""" ... smm=0 ... smm = sum (dct1.values()) @@ -391,7 +392,7 @@ lambda [<Аргумент1>[,<Аргумент2>,…]]:<Возвращаемое 102.36921585741014 ``` -Вызов лямбда-функции создает объект класса "функция", который потом можно положить в другую переменную и далее вызывать. Это необязательно, если она используется один раз, можно вызвать ее сразу. Внутри лямбда-функции не могут использоваться многострочные выражения, нельзя использовать if-else. +Вызов лямбда-функции создает объект класса "функция". Внутри лямбда-функции не могут использоваться многострочные выражения, нельзя использовать if-else. ## 5.2 Функции-генераторы @@ -456,7 +457,7 @@ __next__ помогает вывести значение, которое yield ``` Внутри функции glb принял значение 8, но глобальная переменная при этом после выполнения -функции значения не поменяла. Это происходит потому, что технически, локальный glb и глобальный glb - это два разных объекта. +функции значения не поменяла. Это происходит потому, что локальный glb и глобальный glb - это два разных объекта. Пример 2. Ошибка в использовании локального объекта. ```py @@ -476,7 +477,7 @@ Traceback (most recent call last): UnboundLocalError: cannot access local variable 'glb' where it is not associated with a value ``` -Переменной glb присваивается значение внутри функции. Поэтому python решает, что glb - это локальная переменная для всей функции. Но когда выполнение доходит до строки 3 print(glb), локальная переменная glb еще не была инициализирована (это происходит только в строке 4). +Переменной glb присваивается значение внутри функции. Поэтому python решает, что glb - это локальная переменная для всей функции. Но когда выполнение доходит до строки 3 print(glb), локальная переменная glb еще не была инициализирована (это происходит только в строке 4), поэтому выходит ошибка. Пример 3. Переопределение локализации объекта. ```py @@ -520,7 +521,7 @@ dict_keys(['__name__', '__doc__', '__package__', '__loader__', '__spec__', '__an >>> hh=func8(glb) dict_keys(['__name__', '__doc__', '__package__', '__loader__', '__spec__', '__annotations__', '__builtins__', 'os', 'glb', 'func7', 'res', 'func8']) # Глобальное glb dict_keys(['arg', 'loc1', 'glb']) # Локальное glb ->>> 'glb' in globals().keys() +>>> 'glb' in globals().keys() # Глобально glb True ```