现在我有一个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
有人能帮忙吗?
2条答案
按热度按时间bnl4lu3b1#
我不认为
view()
方法是必要的,因为Data.X
和Data.y
都已经是可打印属性了。无论如何,如果你想让
X
和y
拥有一个view()
方法,我会给Data
添加一个内部类_Coord
(它继承自pd.Series
并实现了这样的方法),然后创建_Coord
的X
和y
示例:wgx48brx2#
就我个人而言,我不会为getter和setter而烦恼,而是创建一个全新的类(如果需要,可以添加setter和getter,以防万一,如果不需要,可以删除它们):