Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Python: Общие вопросы > Нужна инфа по ООП в Python.


Автор: Arc 20.4.2005, 16:29
Подскажите, где найти подробную и понятную документацию на русском языке по объектно-ориентированному программированию в python. В моей книге ("освой самостоятельно python за 24 часа") эта тема описана довольно смутно и для меня непонятно. smile

Автор: Lich 21.4.2005, 05:13
зайди на http://www.python.ru - там море всяких доков, в том числе и на русском языке... есть довольно подробные описания питоновских библтотек... ну и собсно ООП там тоже был...

Автор: Arc 23.4.2005, 18:33
Извиняюсь за надоедливость, но не могли бы вы привести простейший пример объекта и его метод(ы).. smile smile

Автор: skalex 25.4.2005, 13:24
Код
class Box:

   def __init__(self, width, height, depth):
      self.width = width
      self.height = height
      self.depth = depth

   def Volume(self):
      return self.width * self.height * self.depth

def main():
   box = Box(2, 4, 6)
   print box.Volume()

main()

Автор: Arc 25.4.2005, 23:31
Cпасибо. Хоть что-то начинает проясняться. Но для чего используется аргумент self smile

Автор: skalex 26.4.2005, 12:20
Из книги "Язык программирования Python" (Г. Россум, Ф.Л.Дж. Дрейк, Д.С. Откидач):
Цитата
Обычно первый аргумент в определении метода называют self. Это не более чем соглашение: имя self не имеет абсолютно никакого специального значения. Однако, следуя этому соглашению, Вы делаете код более понятным для других программистов. (Некоторые программы, например программы просмотра классов, рассчитаны на то, что пользователь всегда следует этому соглашению.)

Автор: Void 26.4.2005, 19:12
Цитата(Mace @ 26.4.2005, 14:20)
Обычно первый аргумент в определении метода называют self. Это не более чем соглашение: имя self не имеет абсолютно никакого специального значения. Однако, следуя этому соглашению, Вы делаете код более понятным для других программистов. (Некоторые программы, например программы просмотра классов, рассчитаны на то, что пользователь всегда следует этому соглашению.)

Во избежание недпопнимания, хочу уточнить, что никакого специального значения не несет именно имя параметра "self", смысл же у него вполне определенный - это ссылка на экземпляр класса, для которого был вызван метод (аналог this в C++ или Java). Доступ ко всем членам класса внутри тела метода осуществляется именно через self.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)