freeCodeCamp/guide/russian/python/mutability-and-variable-ass.../index.md

4.2 KiB
Raw Blame History

title localeTitle
Python Mutability and Variable Assignments Mutability Python и назначения переменных

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

После создания object тип и идентификатор не могут быть изменены. Независимо от того, изменится ли значение (ы) объекта после его создания, определяет, является ли объект изменчивым (может изменяться) или неизменным (не может измениться).

До сих пор мы узнали о нескольких типах объектов и их подклассах: string и числовых (целых, плавающих, сложных и логических) объектах. Все это неизменные объекты.

Сначала эта концепция может сбивать с толку, потому что то, что хорошо, является объектом, если вы не можете его изменить. То, что делает эти объекты полезными, - это возможность назначать и переназначать переменные. Функции и операторы могут возвращать новые объекты, которые могут быть назначены переменным.

Используя встроенную функцию id , которая возвращает идентификатор объекта, мы можем видеть, как это работает.

Вот несколько вещей, которые нужно иметь в виду:

  • Назначение переменной не означает, что переменная является объектом . Мы использовали очень специфический язык, отметив, что операторы присваивания связывают имя (идентификатор) с объектом . Переменные можно переназначить:

`питон

a = 1 # Привязать к объекту.
Ида)
140355241530152
a = 2 # Перевяжите a другому объекту.
Ида)
140355241530128
`

  • Присвоение двух разных переменных неизменяемым объектам с одинаковым значением может привести (не гарантируется) к ним, связанным с одним и тем же объектом

`питон

a = 1
b = 1
Ида)
140355241530152
id (b) # В этом случае a и b привязаны к одному и тому же объекту.
140355241530152
`

  • Назначение двух разных переменных для объектов с разными значениями всегда приведет к их привязке к различным объектам :

`питон

a = 1
b = 2
Ида)
140355241530152
id (b) # a и b связаны с разными объектами.
140355241530128
`

  • Переназначение переменных не изменяет исходный объект, он связывает их с другим объектом.

`питон

a = 1
b = 1
Ида)
140355241530152
Идентификатор (б)
140355241530152
a = 2
id (a) # a - отскок другого объекта.
140355241530128
id (b) # b все еще привязан к исходному объекту.
140355241530152
`