fMad
Авг. 17, 2007 14:30:15
Вот класс
class Var:
def field_add(self,name,value,type):
t=name,value,type
self.field.append(t)
def field_add(self,name,value):
self.field_add(name,value,“text”)
вот так использую, потому что всегда так перегружал С++ функции (если не считать параметры по умолчанию)
как это делает путём?
var=Var()
var.field_add('name',name)
var.field_add('value',cfg.get(name))
var.field_add('cmd',“add”,“hidden”)
тут с параметрами по умолчанию какие то непонятки
slivlen
Авг. 17, 2007 14:46:49
Сигнатура функции в Python(а также php, perl и тд) включает
только имя ф-ции, а не имя функции, тип возвращаемого значения и список аргументов с указанием их типов как в C++ или Java, например.
http://citforum.ru/programming/python/multidispatch/http://www.artima.com/weblogs/viewpost.jsp?thread=155514
-=<fantom>=-
Авг. 26, 2007 21:21:32
Перегрузка в Pythone происходит элементарно.
Пример возвращения строкового объекта:
class Chat:
def __str__(self):
return str(self.chat)
string='bla-bla-bla'+chat
Аналогично __add__, __mul__, __repr__ и ещё много чего.
Но имей в виду - перегрузка это сразу тормоз. Раз эдак в пять. Время тратится на разбор. В отличии от Си++.
slivlen
Авг. 27, 2007 00:22:11
-=<fantom>=-
Это пример перегрузки стандартных операторов. С перегрузкой функций дела обстоят сложнее.
Александр Кошелев
Авг. 27, 2007 11:49:09
-=<fantom>=-
Но имей в виду - перегрузка это сразу тормоз. Раз эдак в пять.
можно результаты профайлера?