【发布时间】:2020-07-21 07:10:08
【问题描述】:
我是 Python 编程新手。我的属性由文件 A 中的一个类中的 getter 和 setter 组成。
class Histogram:
def getHue(self):
return self.value
def setHue(self, value):
self.varHueHist = value
HueHist = property(getHue, setHue)
我想从另一个文件B中的另一个类访问该属性。但是在我导入文件A和文件B中的类后,仍然无法访问该属性。
from Histogram import Histogram
class moment:
var = Histogram()
无法访问该属性。当我尝试在我的 Spyder 中使用自动完成(Ctrl+空格)时,该属性也没有显示。不幸的是,当我尝试使用该属性访问同一文件中的类内的属性时,该属性是可读的。 如何从另一个文件的类内部调用属性?
这两个文件已经在同一个文件夹中。 请帮忙。谢谢
【问题讨论】:
-
第二个例子中的第一次导入似乎是错误的;请检查,我是否调整了缩进匹配你所拥有的。
-
@guidot 抱歉,这是我写这个问题时的错误。但是在代码中,我使用的是刚才编辑的答案。我的代码使用
from filename import class_name -
您应该注意,您的
property完全没有意义。您应该只使用常规属性,因为您的 getter 和 setter 什么都不做。 -
无论如何,“无法访问该属性。”您完全尝试了什么,完全怎么没用?始终提供minimal reproducible example 和任何错误消息或不正确行为的完整描述(包括预期行为的完整描述。
-
@juanpa.arrivillaga 我想在另一个文件的另一个类中制作一个新的直方图,并使用仅使用色调的直方图。所以我制作了
property Hue,它将获得用于制作直方图的 Bin 数量。所以当我从另一个类调用它时,它会是这样的,首先我创建实例类并将其存储在一个变量中:CandidateHistogram = Histogram(),然后我调用该属性来制作这样的直方图:CandidateHistogram.HueHist(20)。我想通过调用这样的语句来创建直方图。
标签: python python-3.x oop