На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
Модераторы: RaD
  
    > исключительно ООП на python - возможно ли это?
      Изучаю сейчас питон и смотрю на него как на инструмент, способный быстро решить практически любую задачу... Собственно воспрос уже задан в заголовке темы. Возможно ли писать на питоне исключительно объектно ориентированные программы, подобно C# или Java?
        Почему бы и нет.

        Только питон является скриптовым языком программирования. Со всеми вытекающими.
          А можно привести пример или скинуть ссылку/ссылки, где показано, как это сделать?
          В книгах и в инете приводятся классические примеры типа таких:
          ExpandedWrap disabled
            class MyClass:
                def __init__(self):
                    #initialize
                def __eq__(self, other):
                    #TO-DO:...
                ...
            def main():
                myclass = MyClass()
                ...
            main()

          Здесь идет смешивание процедурного и ООП стилей.
          Сообщение отредактировано: serchik -
            Это непринципиально
            ExpandedWrap disabled
              class Application:
                  def __init__(self):
                      # initialize
                  def run():
                      # собственно работа
               
              app = Application()
              app.run() # Можно проще - Application().run()
              Вот они, отголоски скриптового языка )))
              Сообщение отредактировано: serchik -
                ООП ради ООП - нужно ли?
                  Цитата piksel @
                  ООП ради ООП - нужно ли?

                  ООП ради ООП - важно ли? Нет конечно; главное это быстро решить поставленную задачу.
                    Цитата serchik @
                    Изучаю сейчас питон и смотрю на него как на инструмент, способный быстро решить практически любую задачу... Собственно воспрос уже задан в заголовке темы. Возможно ли писать на питоне исключительно объектно ориентированные программы, подобно C# или Java?

                    Да. Использование только одной парадигмы программирования - возможно. Только оно не даст никаких преимуществ, наоборот ты не будешь использовать всю мощь языка на 100%. Сравни использование лямбд и функторов:

                    ExpandedWrap disabled
                      # -*- coding: utf-8 -*-
                       
                      strlist = ["abc", "abcdef", "12345", "xyz"]
                       
                      # Сортируем строки по длине - лямбды
                       
                      strcmp_lambda = lambda s1, s2: cmp(len(s1), len(s2))
                      print sorted(strlist, cmp=strcmp_lambda)
                       
                      # Сортируем строки по длине - функторы
                       
                      class strcmp_functor:
                          def __init__(self):
                              pass
                          
                          def __call__(self, s1, s2):
                              return cmp(len(s1), len(s2))
                              
                          
                      print sorted(strlist, cmp=strcmp_functor())
                      Я согласен, что код с классом в данном случае полчился громоздким. И я не отрицаю использования гибрида в программах. Просто вопрос возник спонтанно, как бы само сабой родилось, а возможно ли такое? И если не трудно, приведите небольшой пример с чисто объекто-ориентированным кодом. Спасибо.
                        1 пользователей читают эту тему (1 гостей и 0 скрытых пользователей)
                        0 пользователей:


                        Рейтинг@Mail.ru
                        [ Script execution time: 0,0312 ]   [ 14 queries used ]   [ Generated: 13.05.24, 23:36 GMT ]