比较新的Python程序员。所以我试图创建一个变量,这个变量可以被构造函数中初始化的类中的任何方法访问和更改。到目前为止,我还不知道怎么做。你知道吗
作为解决这个问题的“创可贴”,我在班上的每个变量之前都用了self。当然,还有另一种方法。你知道吗
例如:
class Image:
height, width = 0,0
def __init__(self, heightInput, widthInput, pixelValue):
height = heightInput
width = widthInput
def readHeight:
print(height)
testObj = Image(10, 10, 20)
testObj.readHeight()
我希望输出为“10”,但是会抛出一个错误,即“height”不是变量。我还有很多类似的问题,但本质上我想知道是否有什么方法可以避免使用“自我”这个词这么多。谢谢!你知道吗
正如Shizzen83所说,self引用类对象的实例。 因此,在整个类中使用的任何变量都需要以“self”开头
这就是你要找的。你知道吗
height
和width
是经典变量,它们只存在于__init__
方法中,要解决这个问题,必须使用self.height
和self.width
。self
指向当前对象,这是将某个对象绑定到该对象的方法。你知道吗编辑:您应该阅读一些关于Python OOP的文章,这种语言有一些独特之处。例如,一个Python类有一个构造函数
__new__
和一个初始值设定项__init__
。第一个实际上是一个构造函数,因为当你进入它时,实例还不存在,它的返回值主要是需要的实例。然后Python自动调用构造函数返回的对象的__init__
方法,在这里构建实例属性。当然,您可以直接从__new__
绑定属性,但是__init__
就是为了这个。你知道吗相关问题 更多 >
编程相关推荐