所以我有一个班级,
import numpy as np
class MyClass:
def __init__(self):
self.means = np.zeros(5)
我有一些期望ndarray
对象的函数......但我有函数调用我需要将我的代码与我的对象的意思集成到列表中。一旦发生,一切都会破裂。
我需要一种强制类将传入列表设置为ndarray的方法。看起来这是可能的,回顾python文档中的__set__ and __setattrib__
......但在阅读文档之后,我仍然对如何获得所需行为感到困惑。
我想要的是确保其他代码说明时
MyClass.means = [0,0,0,0]
手段设置为:np.array([0,0,0,0])
答案 0 :(得分:3)
使用属性设置器:
class MyClass(object):
def __init__(self):
self._means = np.zeros(5)
@property
def means(self):
return self._means # Note the underscore
@means.setter
def means(self, value):
# Convert to np array before setting
self._means = np.array(value)