【发布时间】:2018-10-06 12:55:20
【问题描述】:
如何访问位于类构造函数中的变量的值?
代码是
class Rectangle:
count = 0
def __init__(self,width, height):
self.width = width
self.height = height
bla = 10
Rectangle.count += 1
default_area = 20
def calcArea(self):
area = self.width * self.height
return area
def getcount(self):
print(self.count)
我要修改default_area;我该怎么做?
【问题讨论】:
-
如此写,它是一个局部变量并且消失了,所以你不能访问它。您可以将其提升为实例或类变量,然后您可以访问它。 (谷歌它。)然而,虽然 Python 允许这样做,但它不是很好 OOD 。 . .语言允许,但如果我们一起进行代码审查,我会抱怨它。 . .我希望您对此有充分的理由,并且可能会要求您将其推广到具有完整获取/设置支持的界面。
-
你打算如何使用这个变量?该类是否只有一个,或者每个实例都有自己的
default_area?如果是默认值,为什么要更改它? -
Prune - 我见过这种用于测试的东西。在默认/生产中它执行 X,但对于测试它执行 Y;可能访问模拟而不是服务器。让我的皮肤爬行。 . .三年后,当它在生产中被其他团队成员滥用时,只是一个等待发生的错误。
标签: python class oop constructor