Я отвечу на этот вопрос в общем и полном виде, а не в отношении какого-либо языка программирования
Существует огромное количество путаницы между объявлением, определением и инициализацией. Иногда все они выглядят одинаково, а иногда совершенно по-разному.
Прежде чем понимать различия, очень важно знать две вещи:
Разница между объявлением, определением и инициализациейварьируется от одного языка программирования к другому. Каждое программирование имеет свой собственный способ выполнения этих трех вещей. «То», которое вы определяете, декларируете или инициализируете, также влияет на разницу между ними тремя. Эта «вещь» может быть переменной, классом или функцией. Все они имеют разные значения определений, деклараций и инициализации. Как только мы узнаем о вышеупомянутых двух вещах, большинство сомнений проясняется, и мы прекращаем искать точные различия, потому что их нет.
В общих чертах (независимо от языка или «вещи»)
Объявление означает, что мы говорим компьютеру, что эта «вещь» (это может быть переменная, функция или класс) существует, но мы не знаем, где. В будущем, мы можем сказать, но сейчас он просто существует где-то. Проще говоря, мы не выделяем память при объявлении. Мы можем объявить эту «вещь» много раз. Определение означает, что мы говорим компьютеру, что эта «вещь» нуждается в памяти, и она должна быть где-то расположена. Проще говоря, определение означает, что мы выделили на это память. Мы можем определить что-то только один раз. Инициализация означает, что независимо от того, чем является наша «вещь», мы даем ей начальное значение. Эта «вещь» должна находиться в некоторой ячейке памяти, и если мы оставим эту ячейку пустой, это может быть домом для ошибок и ошибок. Инициализация не всегда необходима, но она важна.
Многие люди предполагают, что объявление + определение = инициализация.
Это не неправильно, но это не правильно во всех местах. Это верно только для переменных, которые тоже в языке, таком как C ++ или, может быть, C.
В python нет концепции объявления. Нам не нужно ничего объявлять в этом.
Общее значение этих трех значений действует везде, но способ выполнения варьируется от языка к языку и «вещи».
Надеждаэто помогает:)