Dinamik bir set dell get fonksiyonu yapmaya çalışıyorum ama garip bir hata alıyorum

from abstrat_base import SetDellGet

class setdelget(SetDellGet):
    def __init__(self):
        self.__x = -1

    @property
    def get(self):
        return self.__x

    @property.setter
    def set(self,x):
        self.__x = x

    @property.deleter
    def dell(self,cls):
        del cls.__x

class Set(setdelget):
    def __init__(self,x):
        super(setdelget, self).__init__()
        self.set(x)

class Dell(setdelget):
    def __init__(self,cls):
        self.dell(cls)

class Get(setdelget):
    def __init__(self):
        super(setdelget, self).__init__()
        self.get()

obj = Set(12)
obj1 = Get(obj)
obj2 = Dell(obj)
print(obj1)

1 Beğeni

hata:
Traceback (most recent call last):
File “C:\Users\emre\PycharmProjects\sqlManager\const.py”, line 3, in
class setdelget(SetGet):
File “C:\Users\emre\PycharmProjects\sqlManager\const.py”, line 12, in setdelget
def set(self,x):
TypeError: descriptor ‘setter’ for ‘property’ objects doesn’t apply to a ‘function’ object

Dinamik bir set dell get fonksiyonu nedir, ne ise yarar? Nasil kullanilmasi lazim, kullanildiginda sonuc ne olmali?

Kodda abstrat_base.SetDellGet sinifi yok.

1 Beğeni

nasıl yani ?
Bu arada hata:
Traceback (most recent call last):
File “C:\Users\emre\PycharmProjects\sqlManager\const.py”, line 3, in
class setdelget(SetDellGet):
File “C:\Users\emre\PycharmProjects\sqlManager\const.py”, line 12, in setdelget
def set(self,x):
TypeError: descriptor ‘setter’ for ‘property’ objects doesn’t apply to a ‘function’ object

Process finished with exit code 1

Dinamik derken objeye göre kullanılabilmesini kast etmiştim mesela:
obj = Set(“Merhaba”)
obj1 = Set(“Merhaba1”)
obj_G = Get(obj)
obj_g = Get(obj1)
print(obj_G) # out: Merhaba
Dell(obj)
print(obj_G)# out: is not defined

property’nin böyle bir kullanımı yok. Yanlış kullandığınız için hata alıyorsunuz. Resmi dökümanı takip edin:

1 Beğeni

çok sağolun simdi anladım.