Первое, чему программист учится, изучая новый язык программирования, — это переменные. Переменная — это значение, которое может изменяться в зависимости от условий или информации, передаваемой программе.

Понимание основ любого языка программирования и знание этих тонкостей поможет в долгосрочной перспективе при работе с файлами с большим кодом, сделать отладку прямо пропорциональной, чтобы облегчить жизнь.

Интересно, что у python есть свой способ хранения переменных. На самом деле, у python для них другая терминология, и в python они называются именами.

Итак, давайте сразу перейдем к концепции, чтобы мои читатели узнали что-то практическое из этого блога.

a=5 — — — — — — — -> 1

что именно, по нашему мнению, могло произойти в языке программирования, место памяти могло быть создано для переменной а, и двоичный код числа 5 должен был храниться в этом конкретном месте.

a=10 — — — — — — — →2

Теперь вообще должно было получиться так, что код выше должен был изменить бинарное значение, хранящееся в ОЗУ.

Тем не менее, это не относится к python. В python литералы 5 и 10 хранятся в памяти как объекты, а a обрабатывается как имя, указывающее на 5 в уравнении 1, а затем оно начинает указывать на другой объект, который 10.

Теперь, если вы внимательно об этом подумаете, вы узнаете, почему python называется языком с динамической типизацией, то есть тип данных переменной определяется во время выполнения, и нам не нужно предварительно определять тип данных, как мы используем для делать на С++, java

интервал а=5

давайте визуализируем все это с помощью pythontutor, одного из лучших веб-сайтов для визуализации вашего кода.

Здесь интерпретатор Python только что интерпретировал первую строку кода. Теперь, когда мы выполним вторую строку кода, давайте посмотрим, что произойдет.

Но там, где находился объект 5, о нем автоматически позаботился сборщик мусора программы python неявно.

Как это помогает в достижении динамической типизации для python, литералы создаются как объекты, и у них есть свой тип данных, программист просто ссылается на эти объекты, используя имя, и когда эти имена назначаются другому объекту какого-либо другого типа данных, он просто начинает указывать к новому объекту, оставляющему предыдущий, что довольно удивительно, давайте посмотрим на это бок о бок в python и C++.

Посмотрите, как C++ выдает ошибку. Я надеюсь, что смог объяснить своим читателям, что делает код Python динамически типизированным.

Поддержите меня в моем писательском путешествии, и давайте учиться и расти вместе 🙌.