From 9510436b825031fb2b2ab4e386a0d3ca368c548a Mon Sep 17 00:00:00 2001 From: OgarkovIA Date: Sun, 23 Nov 2025 13:05:33 +0000 Subject: [PATCH] =?UTF-8?q?=D0=98=D0=B7=D0=BC=D0=B5=D0=BD=D0=B8=D0=BB(?= =?UTF-8?q?=D0=B0)=20=D0=BD=D0=B0=20'TEMA7/report.md'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- TEMA7/report.md | 126 +++++++++++++++++++++++++++--------------------- 1 file changed, 72 insertions(+), 54 deletions(-) diff --git a/TEMA7/report.md b/TEMA7/report.md index c89634f..2a5af52 100644 --- a/TEMA7/report.md +++ b/TEMA7/report.md @@ -5,19 +5,18 @@ ## 1. Начало работы Создание текстового файла `report.md` - +```python import os os.getcwd() 'C:\\Users\\Ilya\\AppData\\Local\\Programs\\Python\\Python313' os.chdir('C:\\Users\\Ilya\\Desktop\\python-labs\\TEMA7') os.getcwd() 'C:\\Users\\Ilya\\Desktop\\python-labs\\TEMA7' - +``` ## 2. Создание пользовательской функции -2.1. Первый пример: функция – без аргументов - - +**2.1. Первый пример: функция – без аргументов** +```python def uspeh(): """Подтверждение успеха операции""" print('Выполнено успешно!') @@ -34,9 +33,10 @@ Help on function uspeh in module __main__: uspeh() Подтверждение успеха операции +``` -2.2. Пример функции с аргументами - +**2.2. Пример функции с аргументами** +```python def sravnenie(a,b): """Сравнение a и b""" if a>b: @@ -50,9 +50,10 @@ n,m=16,5;sravnenie(n,m) 16 больше 5 n,m = 'sasa','ss'; sravnenie(n,m) sasa меньше ss +``` -2.3. Пример функции, содержащей return - +**2.3. Пример функции, содержащей return** +```python def logistfun(b,a): """Вычисление логистической функции""" import math @@ -61,9 +62,10 @@ def logistfun(b,a): v,w=1,0.7;z=logistfun(w,v) z 0.6681877721681662 +``` -2.4. Сложение для разных типов аргументов - +**2.4. Сложение для разных типов аргументов** +```python def slozh(a1,a2,a3,a4): """ Сложение значений четырех аргументов""" return a1+a2+a3+a4 @@ -94,9 +96,10 @@ Traceback (most recent call last): File "", line 3, in slozh return a1+a2+a3+a4 TypeError: unsupported operand type(s) for +: 'set' and 'set' +``` -2.5. - +**2.5.** +```python def inerz(x,T,ypred): """ Модель устройства с памятью: x- текущее значение вх.сигнала, @@ -113,11 +116,11 @@ yy=0 for xx in sps: yy=inerz(xx,TT,yy) spsy.append(yy) +``` - -3. Функции как объекты. -3.1. Получение списка атрибутов объекта-функции. - +##3. Функции как объекты. +**3.1. Получение списка атрибутов объекта-функции.** +```python dir(inerz) ['__annotations__', '__builtins__', '__call__', '__class__', '__closure__', '__code__', '__defaults__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__get__', '__getattribute__', '__getstate__', '__globals__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__kwdefaults__', '__le__', '__lt__', '__module__', '__name__', '__ne__', '__new__', '__qualname__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__type_params__'] @@ -131,9 +134,10 @@ inerz(x, T, ypred) x- текущее значение вх.сигнала, T -постоянная времени, ypred - предыдущее значение выхода устройства +``` -3.2. Сохранение ссылки на объект-функцию в другой переменной - +**3.2. Сохранение ссылки на объект-функцию в другой переменной** +```python fnkt=sravnenie v=16 fnkt(v,23) @@ -151,11 +155,11 @@ else: func() Функция 2 +``` - -4. Аргументы функции -4.1. Изучите возможность использования функции в качестве аргумента другой функции - +##4. Аргументы функции +**4.1. Изучите возможность использования функции в качестве аргумента другой функции** +```python def fun_arg(fff,a,b,c): """fff-имя функции, используемой в качестве аргумента функции fun_arg""" @@ -163,9 +167,10 @@ def fun_arg(fff,a,b,c): zz=fun_arg(logistfun,-3,1,0.7);zz -2.3318122278318336 +``` -4.2. Обязательные и необязательные аргументы - +**4.2. Обязательные и необязательные аргументы** +```python def logistfun(a,b=1): """Вычисление логистической функции""" import math @@ -174,38 +179,43 @@ logistfun(0.7) 0.6681877721681662 logistfun(0.7,2) 1.3363755443363323 +``` -4.3. Изучите возможность обращения к функции с произвольным (непозиционным) расположением аргументов - +**4.3. Изучите возможность обращения к функции с произвольным (непозиционным) расположением аргументов** +```python logistfun(b=0.5,a=0.8) 0.34498724056380625 +``` -4.4. Пример со значениями аргументов функции, содержащимися в списке или кортеже - +**4.4. Пример со значениями аргументов функции, содержащимися в списке или кортеже** +```python b1234=[b1,b2,b3,b4] qq=slozh(*b1234) ;qq # Оператор * распаковывает элементы [1, 2, -1, -2, 0, 2, -1, -1] uslovniy_list = [1,2,3,4] slozh(*uslovniy_list) 10 +``` -4.5. Пример со значениями аргументов функции, содержащимися в словаре - +**4.5. Пример со значениями аргументов функции, содержащимися в словаре** +```python dic4={"a1":1,"a2":2,"a3":3,"a4":4} qqq=slozh(**dic4);qqq # Распаковываем значения словаря 10 qqq_usl=slozh(*dic4);qqq_usl # Распаковываем ключи словаря 'a1a2a3a4' +``` -4.6. Смешанные ссылки - +**4.6. Смешанные ссылки** +```python e1=(-1,6);dd2={'a3':3,'a4':9} qqqq=slozh(*e1,**dd2) qqqq 17 +``` -4.7. Переменное число аргументов у функции - +**4.7. Переменное число аргументов у функции** +```python def func4(*kort7): """Произвольное число аргументов в составе кортежа""" smm=0 @@ -217,9 +227,10 @@ func4(-1,2) 1 func4(-1,2,0,3,6) 10 +``` -4.8. Комбинация аргументов - +**4.8. Комбинация аргументов** +```python def func4(a,b=7,*kort7): """Кортеж - сборка аргументов - должен быть последним!""" smm=0 @@ -229,9 +240,10 @@ def func4(a,b=7,*kort7): func4(-1,2,0,3,6) -7 +``` -4.9. Изменение значений объектов, используемых в качестве аргументов функции - +**4.9. Изменение значений объектов, используемых в качестве аргументов функции** +```python a=90 def func3(b): a=5*b+67 @@ -247,10 +259,11 @@ def func2(sps): func2(sps1) print(sps1) [1, 99, 3, 4] +``` -5. Специальные типы пользовательских функций -5.1. Анонимные функции. - +##5. Специальные типы пользовательских функций +**5.1. Анонимные функции** +```python anfun1=lambda: 1.5+math.log10(17.23) anfun1() 2.7362852774480286 @@ -259,9 +272,10 @@ anfun2(17,234) anfun3=lambda a,b=234: a+math.log10(b) anfun3(100) 102.36921585741014 +``` -5.2. Функции-генераторы - +**5.2. Функции-генераторы** +```python def func5(diap,shag): """ Итератор, возвращающий значения из диапазона от 1 до diap с шагом shag""" @@ -286,10 +300,11 @@ Traceback (most recent call last): File "", line 1, in print(alp.__next__()) StopIteration +``` -6. Локализация объектов в функциях -6.1. Примеры на локализацию объектов - +##6. Локализация объектов в функциях +**6.1. Примеры на локализацию объектов** +```python glb=10 def func7(arg): loc1=15 @@ -323,9 +338,10 @@ def func7(arg): res=func7(glb);res 11 165 +``` -6.2. Выявление локализации объекта с помощью функций locals() и globals() из builtins - +**6.2. Выявление локализации объекта с помощью функций locals() и globals() из builtins* +```python globals().keys() dict_keys(['__name__', '__doc__', '__package__', '__loader__', '__spec__', '__annotations__', '__builtins__', 'anfun1', 'math', 'anfun2', 'anfun3', 'func5', 'mm', 'alp', 'glb', 'func7', 'res', 'func8']) locals().keys() @@ -345,9 +361,10 @@ hh 120 'glb' in globals().keys() True +``` -6.3. Локализация объектов при использовании вложенных функций - +**6.3. Локализация объектов при использовании вложенных функций** +```python def func9(arg2,arg3): def func9_1(arg1): loc1=15 @@ -366,9 +383,10 @@ glob_func9_1: dict_keys(['__name__', '__doc__', '__package__', '__loader__', '__ locl_func9_1: dict_keys(['arg1', 'loc1', 'glb1']) loc_func9: dict_keys(['arg2', 'arg3', 'func9_1', 'loc1', 'glb']) glob_func9: dict_keys(['__name__', '__doc__', '__package__', '__loader__', '__spec__', '__annotations__', '__builtins__', 'anfun1', 'math', 'anfun2', 'anfun3', 'func5', 'mm', 'alp', 'glb', 'func7', 'res', 'func8', 'hh', 'func9']) +``` -6.4. - +**6.4.** +```python import math # Ввод параметров @@ -435,7 +453,7 @@ k1,T,k2,Xm,A,F,N=1,2,3,4,5,6,7 Входной сигнал: A=5.0, F=6.0, N=7 Входной сигнал: [0.0, 4.330127018922193, 4.330127018922194, 6.123233995736766e-16, -4.330127018922193, -4.330127018922193, -1.2246467991473533e-15] Выход системы y= [0, 0, 0, 0, -3.430711797903516, -4.909726376383112, 0] - +```