Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class Worker: # Класс
- __FIO = None # Поля, __ означает, что поле - приватное
- __Position = None
- __Salary = None
- __YearOfHire = None
- def __init__(self, fio, pos, sal, year): # Конструктор
- self.FIO = fio
- self.Position = pos
- self.Salary = sal
- self.YearOfHire = year
- def __del__(self): # Деструктор
- print('Я разрушен. Моя жизнь кончена. Хочу умереть')
- @property
- def FIO(self): # Геттер для ФИО
- return self.__FIO
- @FIO.setter
- def FIO(self, fio): # Сеттер для ФИО
- self.__FIO = fio
- @property
- def Position(self): # Геттер для Должности
- return self.__Position
- @Position.setter
- def Position(self, pos): # Сеттер для Должности
- self.__Position = pos
- @property
- def Salary(self): # Геттер для Зарплаты
- return self.__Salary
- @Salary.setter
- def Salary(self, sal): # Сеттер для Зарплаты
- self.__Salary = sal
- @property
- def YearOfHire(self): # Геттер для Года поступления
- return self.__YearOfHire
- @YearOfHire.setter
- def YearOfHire(self, year): # Сеттер для Года поступления
- self.__YearOfHire = year
- def __str__(self): # Метод для отображения объекта класса в виде строки
- return str(self.FIO) + ' ' + str(self.Position) + ' ' + str(self.Salary) + ' ' + str(self.YearOfHire)
- def SearchInListOfWorkers(WorkersList, Search, SearchColumn): # Метод для поиска объектов в листе по критерию
- result = [] # Инициализируем лист для результатов поиска
- for worker in WorkersList:
- current_attribute = getattr(worker, SearchColumn) # Находим нажный атрибут для поиска
- if isinstance(current_attribute, str): # Если это строка, то проверяем вхождение подстроки
- result.append(worker) if Search in current_attribute else None
- elif isinstance(current_attribute, int): # Если число, то сравниваем
- result.append(worker) if Search == current_attribute else None
- return result # Возвращаем результаты поиска
- if __name__ == '__main__': # Если запускается данный файл, то сделать:
- # Создаем лист объектов класса Worker
- Workers = [
- Worker('Иванов И.И.', 'Уборщик', 10000, 1999),
- Worker('Петров И.И.', 'Дворник', 16000, 2010),
- Worker('Охохонина Е.Ш.', 'Танцовщица', 60000, 2002),
- Worker('Гениальнов С.Х.', 'Гений', 100000, 2018),
- ]
- # Выводим результаты поиска
- print(*SearchInListOfWorkers(Workers, 'Иванов', 'FIO'))
- print(*SearchInListOfWorkers(Workers, 'И', 'FIO'))
- print(*SearchInListOfWorkers(Workers, 'Танцовщица', 'Position'))
- print(*SearchInListOfWorkers(Workers, '100000', 'Salary'))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement