python_rag_system/lesson_28/code/decor.py
2025-12-11 12:24:03 +03:00

91 lines
1.8 KiB
Python

import datetime
def myFirstDecorator(fn):
def wrapper(*args):
start = datetime.datetime.now()
#что-то делаем
res = fn(*args) #вызываем функцию которую передали
end = datetime.datetime.now()
print(f"время выполнения функции: { end - start }")
# что-то делаем
return res - 1
return wrapper
# @myFirstDecorator
# def pow_(x, y):
# return x ** y
#
# @myFirstDecorator
# def summ(x, y):
# return x + y
class A:
@staticmethod
def summ(self, x, y):
print(self)
self.summ(self, y, )
return x + y
def summ_(self, x, y):
return x + y
# obj = A()
# print(obj.summ(obj,2,3))
# print(pow_(3,3))
# print(summ(3,4))
# fn = myFirstDecorator(pow)
# result = fn(2,2)
# print(result)
class Db:
instance = None
def __init__(self, age):
self.age = age
if Db.instance == None:
return
else:
raise Exception()
@staticmethod
def getInstance(age):
if Db.instance == None:
Db.instance = Db(age)
return Db.instance
# try:
obj = Db.getInstance(10)
obj2 = Db.getInstance(16)
# print(obj.age)
# print(obj2.age)
# except Exception as e:
# print(e)
from abc import ABC, abstractmethod
class Absclass(ABC):
def print(self,x):
print("Passed value: ", x)
@abstractmethod
def task(self):
print("We are inside Absclass task")
@abstractmethod
def task_(self):
print("We are inside Absclass task")
class test_class(Absclass):
pass
def task(self):
print("We are inside test_class task")
def task_(self):
print("We are inside Absclass task")
test_obj = test_class()
test_obj.task()
test_obj.print("10")