Bu değişkenlerin farkı ne

class sınıf():
    bs=[123]
    def __init__(self):
        self.b = [12]

        

bs değişkeninin özel bir adı varmı
veya __ init__ de tanımlamadığımız değişkenlerin farkı ne
soruyu yanlış sorduysam özür dilerim

Sınıf içinde tanımlanan bs değişkeni bir sınıf niteliği olur ve bütün örnekler o değişkeni kullanır. __init__ içinde tanımlanan self.b değişkeni bir örnek niteliğidir ve her örnek için ayrıdır.

class sınıf():
    bs=[123]
    def __init__(self):
        self.b = [12]

a = sınıf()
b = sınıf()
c = sınıf()
>>> id(a.bs) == id(b.bs) == id(c.bs)
True
>>> a.bs
[123]
>>> b.bs
[123]
>>>
>>> id(a.b) == id(b.b)
False
>>> a.b == b.b
True
>>> a.b
[12]
>>> b.b
[12]
>>> a.b = "başka bir şey"
>>> a.b
'başka bir şey'
>>> b.b
[12]
>>>
>>> b.bs
[123]
>>> a.bs
[123]
>>> a.bs.append(1)
>>> a.bs
[123, 1]
>>> b.bs
[123, 1]
>>> sınıf.bs
[123, 1]

Anladım çok saolun peki bir soru daha sorucam

staticmetod ,classmetod ve property decoratorlerini açiklayabilirmisinz

Bir soru sormadan önce belgelere göz atsanız iyi olur. Orada da anlamadığınız yer olursa o zaman sorarsınız.
https://python-istihza.yazbel.com/nesne_tabanli_programlama4.html#property-bezeyicisi
https://python-istihza.yazbel.com/nesne_tabanli_programlama2.html#staticmethod-bezeyicisi
https://python-istihza.yazbel.com/nesne_tabanli_programlama2.html#classmethod-bezeyicisi-ve-cls

Saolun ve özür dilerim bir dahakine sormadan önce arastırırım