170 похожих чатов

Мне вот интересно вы можете использовать шаблоны над классом, например



class Dog (bar)

или вы можете это делать только через функцию def

И что тогда если вам нужно вставить шаблонную функцию внутри других функций
как вы делаете?

16 ответов

2 просмотра

еще раз. в питоне нет шаблонов. от слова совсем.

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!

Ilia- Автор вопроса
Alex
class Point: def __init__(self, x, y): ...

3 разных типа int, double и string наверно на шаблон похоже функция Point как я понял это реализация структуры __init__?

Ilia- Автор вопроса
Alex
class Point: def __init__(self, x, y): ...

struct Point { template <class T1, class T2> Point(T1&& x, T2&& y,) { }; вызывать так же в main Point(1, 2); Point(3.0, 3.5); похоже на шаблоны

Ilia- Автор вопроса
Tishka17
a=Point(1,"2") a.x=[]

это уже присваивание в переменную идет, питон может понять что это массив с ходу?

Ilia
struct Point { template <class T1, class T2> ...

похоже и ? 1. в питоне нет шаблонов. 2. в питоне нет спецификаторов доступа к методам и полям у классов. есть соглашение именовать имена, которые не являются частью публичного интерфейса при помощи префикса _. 3. в питоне нет private, а __name — это не private. это так к слову на будущее.

Ilia
это уже присваивание в переменную идет, питон може...

1. это список а не массив. 2. в смысле "сходу"? что понять?

Ilia- Автор вопроса
Alex
1. это список а не массив. 2. в смысле "сходу"? чт...

просто вы не указываете какой это тип переменной int, double, массив или что то еще. Очень необычно

Ilia
просто вы не указываете какой это тип переменной i...

потому что его нет. тип есть у объекта, а не у переменной.

Ilia
struct Point { template <class T1, class T2> ...

В питоне вообще все наследуется от object. Поэтому можно просто объявить структуру как словарь вида object: object

Ilia
просто вы не указываете какой это тип переменной i...

переменная (на самом деле ссылка или имя) может указывать (ссылаться) на объект любого типа.

Ilia
просто вы не указываете какой это тип переменной i...

Это называется динамическая типизация

Похожие вопросы

Обсуждают сегодня

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
Ребят в СИ можно реализовать ООП?
Николай
33
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
у вас два процесса. один посылает другому сигнал. у вас есть код обоих процессов? если всё не так - расскажите как оно на самом деле. а именно кто кому чего, есть-ли консоли,...
Karagy
6
Карта сайта