Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.191.175.156] |
|
Сообщ.
#1
,
|
|
|
Изучаю сейчас питон и смотрю на него как на инструмент, способный быстро решить практически любую задачу... Собственно воспрос уже задан в заголовке темы. Возможно ли писать на питоне исключительно объектно ориентированные программы, подобно C# или Java?
|
Сообщ.
#2
,
|
|
|
Почему бы и нет.
Только питон является скриптовым языком программирования. Со всеми вытекающими. |
Сообщ.
#3
,
|
|
|
А можно привести пример или скинуть ссылку/ссылки, где показано, как это сделать?
В книгах и в инете приводятся классические примеры типа таких: class MyClass: def __init__(self): #initialize def __eq__(self, other): #TO-DO:... ... def main(): myclass = MyClass() ... main() Здесь идет смешивание процедурного и ООП стилей. |
Сообщ.
#4
,
|
|
|
Это непринципиально
class Application: def __init__(self): # initialize def run(): # собственно работа app = Application() app.run() # Можно проще - Application().run() |
Сообщ.
#5
,
|
|
|
Вот они, отголоски скриптового языка )))
|
Сообщ.
#6
,
|
|
|
ООП ради ООП - нужно ли?
|
Сообщ.
#7
,
|
|
|
Цитата piksel @ ООП ради ООП - нужно ли? ООП ради ООП - важно ли? Нет конечно; главное это быстро решить поставленную задачу. |
Сообщ.
#8
,
|
|
|
Цитата serchik @ Изучаю сейчас питон и смотрю на него как на инструмент, способный быстро решить практически любую задачу... Собственно воспрос уже задан в заголовке темы. Возможно ли писать на питоне исключительно объектно ориентированные программы, подобно C# или Java? Да. Использование только одной парадигмы программирования - возможно. Только оно не даст никаких преимуществ, наоборот ты не будешь использовать всю мощь языка на 100%. Сравни использование лямбд и функторов: # -*- 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()) |
Сообщ.
#9
,
|
|
|
Я согласен, что код с классом в данном случае полчился громоздким. И я не отрицаю использования гибрида в программах. Просто вопрос возник спонтанно, как бы само сабой родилось, а возможно ли такое? И если не трудно, приведите небольшой пример с чисто объекто-ориентированным кодом. Спасибо.
|