class Dog (bar)
или вы можете это делать только через функцию def
И что тогда если вам нужно вставить шаблонную функцию внутри других функций
как вы делаете?
еще раз. в питоне нет шаблонов. от слова совсем.
class Point: def __init__(self, x, y): self.x = x self.y = y какого типа x, y у класса точка? Point(1, 2) Point(3.0, 3.5) Point("foo", "bar") # surprise!
3 разных типа int, double и string наверно на шаблон похоже функция Point как я понял это реализация структуры __init__?
А если Point(1, "2")?
struct Point { template <class T1, class T2> Point(T1&& x, T2&& y,) { }; вызывать так же в main Point(1, 2); Point(3.0, 3.5); похоже на шаблоны
a=Point(1,"2") a.x=[]
это уже присваивание в переменную идет, питон может понять что это массив с ходу?
похоже и ? 1. в питоне нет шаблонов. 2. в питоне нет спецификаторов доступа к методам и полям у классов. есть соглашение именовать имена, которые не являются частью публичного интерфейса при помощи префикса _. 3. в питоне нет private, а __name — это не private. это так к слову на будущее.
1. это список а не массив. 2. в смысле "сходу"? что понять?
просто вы не указываете какой это тип переменной int, double, массив или что то еще. Очень необычно
потому что его нет. тип есть у объекта, а не у переменной.
В питоне вообще все наследуется от object. Поэтому можно просто объявить структуру как словарь вида object: object
переменная (на самом деле ссылка или имя) может указывать (ссылаться) на объект любого типа.
Это называется динамическая типизация
Обсуждают сегодня