Penggunaan istilah variable pada Python sebetulnya kurang tepat, lebih tepat disebut sebagai referensi kepada sebuah objek.
Namun bagi yang sudah berpengalaman programming, tentu sudah memiliki konsep variable dari bahasa pemograman sebelumnya. Tidak menjadi masalah kita menyebutnya sebagai variable.
Lifetime Variable
Lifetime variable dari Python adalah seperti berikut. Contoh dideklarasikan sebuah variable x dengan nilai integer 1000.
- Python akan membuat int object dengan nilai 1000.
- Sebuah object reference dengan nama x
- Kemudian mengatur agar objek x menunjuk ke objek int 1000

Jika nilai x diubah menjadi 500, Python tidak mengubah nilai dari objek int, karena int adalah immutable (tidak bisa diubah). Yang terjadi dibackground adalah sebagai berikut:
- Python akan membuat int objek baru dengan nilai 500
- Pointer objek x menunjuk ke objek int 500
- Karena objek int 1000 sudah tidak dicapai oleh program, garbage collector pada waktu terentu, otomatis akan membuang objek int 1000 dari memory.

Jika kita mereferensikan suatu variable sama dengan variable x (yaitu dengan cara x = y), yang terjadi adalah
- Python akan membuat objek y
- Kemudian membuat referensi antara objek y dengan objek int 500.
Maka sekarang keduanya (objek x dan y) menunjuk ke objek integer yang sama yaitu int 500

Kemudian jika kita assign nilai baru pada variable x, contoh x = 3000. Yang terjadi adalah
- Python akan membuat objek int baru 3000
- Kemudian objek x akan di referensikan dengan objek int 3000
- Pada point ini, semua objek memiliki referensi. Tidak ada tugas bagi garbage collector.

Memahami Value Equality dan Identity Equality
Fungsi yang digunakan adalah id(), akan mengembalikan nilai identifier unik dari sebuah objek.
Contoh, deklarasikan variable a dengan suatu nilai, kemudian cek id dari objek a, nilai id yang tertulis pada contoh bisa berbeda dengan Anda.
>>> a = 496 >>> id(a) 34665040
Kemudian buat variable b dengan nilai lain, kemudian cek id nya, akan terlihat nilai id a dan b tidak sama.
>>> b = 1729 >>> id(b) 34665072
Kemudian kita buat statement bahwa b = a, lalu cek id variable b, maka id dari variable b akan sama dengan variable a.
>>> b = a >>> id(b) 34665040 >>> id(a) == id(b) True >>> a is b True
Fungsi id() ini jarang digunakan pada aplikasi nyata, lebih sering digunakan pada tutorial seperti ini atau saat melakukan debugging,
Pada program, lebih umum menggunakan is operator untuk menguji equality of identity, menguji 2 objek mereferensi pada objek yang sama.
Jadi, identity dan value adalah 2 hal yang berbeda. 2 objek yang berbeda bisa memiliki value yang sama. Sedangkan identity menunjuk pada objek yang sama.
>>> a = [1, 2, 3] >>> b = [1, 2, 3] >>> a == b True >>> a is b False