目前我有一个python类函数在哪里
class Data:
def __init__(self, data=None, target=None):
self._data = None
self._target = None
self.X = data
self.y = target
@property
def X(self):
return self._data
@X.setter
def X(self, data):
self._data = data
@property
def y(self):
return self._target
@y.setter
def y(self, target):
self._target = target
def view(self, method):
print(pd.DataFrame(method))
我想要做的是向现有托管属性添加一个视图方法,该视图方法将打印它添加到的属性。
d = Data([1,2,3], [4, 5, 6])
d.X.view()
0
0 1
1 2
2 3
d.y.view()
0
0 4
1 5
2 6
有人可以帮忙吗?
就我个人而言,我不会为 getter 和 setter 而烦恼,而是创建一个全新的类(如果需要,可以使用 setter 和 getter,添加它们以防万一,如果不需要它们则删除它们):
class DataProp:
def __init(self, data=None):
self.data = data
def set(data):
self.data = data
def get():
return self.data
def view():
print(pd.DataFrame(self.data))
class Data:
def __init__(self, data=None, target=None):
self.X = DataProp(data)
self.y = DataProp(target)