我试图将一个变量作为一个类中的属性,但同时这个变量必须在这个类中的一个方法中计算。这是我的密码:
class entrepot :
def __init__(self,L_R,L_A,pos_porte,longueur,largeur):
self.L_R=L_R
self.L_A=L_A
self.pos_porte=pos_porte
self.longueur=longueur
self.largeur=largeur
def matrice_expedition(self):
A=np.zeros((longueur,largeur-2))
return (A)
允许我添加as属性吗?这听起来是个愚蠢的问题,但我还是个初学者
你是说这样的事吗
请注意,虽然在技术上是合法的,但此代码不能确保
self.A
与self.longeur
和self.largeur
保持一致,因此如果这些属性中的任何一个稍后更改,您可能会遇到一些问题如果初始化后仓库(转口)大小不应更改,您可以将
longueur
和largeur
属性重命名为_longueur
和_largeur
(请注意,这只是一个命名约定-它不会阻止对这些属性的访问-但它是一个非常强大的约定,它告诉您的类的用户,他们不应该弄乱这些属性,如果他们弄乱并破坏了这些属性,他们就可以自己处理任何东西)另外,如果您仍然希望提供对
longueur
和largeur
的公共读取访问,则可以将它们设置为只读属性:实际上,您应该只将客户机代码应该使用的属性和方法作为“public”属性(和方法)公开(很可能您也希望使“self.A”成为受保护的属性)
相关问题 更多 >
编程相关推荐