Sınıflar hakkında bir soru

#Merhabalar benim bir sorum olacaktı.İnternette quizde görmüştüm bu kod satırını.Çıktı 123 oluyor.__init__ fonksiyonu otamatik olarak çalışıyordu.
#Çalıştığında son satırda olan id = 100 satırı id değişkenini tekrardan tanımlamaz mı?
#Bu kod satırının mantığını anlatabilir misiniz? Teşşekkürler
class Sales:
    def __init__(self, id):
        self.id = id
        id = 100

val = Sales(123)
print (val.id)

id degiskenini ilk defa tanimlar. 100 degeriyle.

Hangisinin?

Soru neden val.id'nin 100 olmadigiysa, cevabi bunun id'den farkli bir sey olmasi.

x = 42
print(hede.x) # 42 degil

Anladım sanırım, self ifadesi val.id’ deki val objesini temsil ediyor teşşekkürler.
Peki id = 100 ifadesine ulaşabilir miyiz?

O değişken fonksiyonun değişkeni olduğu için sadece fonksiyon içinde erişebilirsiniz.

Tamamdır teşekkürler