【发布时间】:2015-07-16 13:39:36
【问题描述】:
这背后是怎样的机制?
例如,我可以定义一个类
class test:
string_a="aaa"
然后我可以为类测试设置一个实例。
test_instance=test()
稍后我可以将 test_attr 分配给 test_instance。
test_instance.test_attr="bbb"
print test_instance.test_attr
这将打印,"bbb"
那么行为是为了什么?与__init__ 有什么冲突吗?
谢谢。
【问题讨论】:
-
这是否意味着如果不需要创建一个子类来表示一些特殊的实例情况,那么我可以将私有属性附加到我想要使用的类实例上?所以这很好吗?
-
从link abarnert 了解更多信息,(pythonic,setter,getter)
-
不清楚你想要什么,但 Python 并没有真正有“私有属性”。仅仅因为您可以添加任意属性,并不意味着这样做是个好主意。
-
我想我对 setter、getter 赋予属性值的方式感到困惑,我试图找到一种设置值的好方法(但不确定 python 是如何做到这一点的),就像 \@在目标 C 中合成。现在很清楚了,在阅读了 abarnert @jonrsharpe 的帖子后,无论如何,谢谢。