instruction: Tegyük fel, hogy programot írsz egy termékkatalógushoz. Modellezzünk egy osztályt erre a célra.
output: Persze, itt egy példakód egy osztályra Pythonban:
  
  ```
  class ItemCatalog:
      def __init__(self):
          self.items = {}
  
      def add_item(self, item_id, item_name, item_description, item_price):
          self.items[item_id] = {
              'name': item_name,
              'description': item_description,
              'price': item_price
          }
      
      def remove_item(self, item_id):
          del self.items[item_id]
      
      def update_item(self, item_id, item_name=None, item_description=None, item_price=None):
          item = self.items[item_id]
          if item_name:
              item['name'] = item_name
          if item_description:
              item['description'] = item_description
          if item_ár:
              item['price'] = item_price
  
      def search_item(self, search_string):
          matching_items = []
          for item_id, item in self.items.items():
              if search_string in item['name'] or search_string in item['description']:
                  matching_items.append(item)
          return matching_items
  ```
  
  Ez az osztály lehetőséget biztosít az elemek katalógusának tárolására, ahol minden elemnek van azonosítója, neve, leírása és ára. Az `add_item()` metódus új elemet ad hozzá a katalógushoz, a `remove_item()` metódus eltávolít egy elemet, az `update_item()` metódus pedig frissíti egy meglévő elem tulajdonságait. A `search_item()` metódus a névben vagy a leírásban szereplő kulcsszó alapján keres elemeket.