【发布时间】:2012-07-20 17:08:04
【问题描述】:
我对 Python 很陌生,我似乎无法理解这一点。考虑一下这个简单的 Python 代码。
class point:
i = 34
test = point()
test.y = 45
print test.y
如您所见,我有一个名为 test 的点实例,但是当 y 不是
点类的数据成员。没有抛出错误,并且 y 属性似乎有
已自动添加到班级。
为什么会这样?这不是误会吗?或者我错过了一些非常基本的东西。 C++ 不能做同样的事情,它会引发编译器错误。这个奇怪的功能有什么原因吗?
【问题讨论】:
-
我没有投反对票,但您的问题表明您对 Python 知之甚少。你应该通过 Python tutorial。
-
我没有投反对票,但是:您刚才说过任何不能用 C++ 完成的事情都是错误功能。学习更多的语言。
-
@Hamish 我从来没有说过“任何不能用 C++ 完成的事情都是错误的”我来自 C++/C 背景,因此我提到了 C++。我关于这是一个错误的问题,并不是为了修辞,而是真实的。在这一点上,Python 资深人士肯定可以指导我并纠正我的误解。
-
我认为这不值得一票否决,为了记录,我理解你对 c++ 的引用纯粹是好奇
-
你也可以定义一个类来禁止它。