我几天前看过this帖子,我理解(在阅读答案后)OP为什么会出现问题,但我不明白使用点运算符会发生什么“添加”功能:print add().a
。 a
是类test
的元素,add
创建test
的实例,但如何在函数上正确访问a
?
答案 0 :(得分:6)
在该帖子中,函数add()
返回test
个对象。该对象具有属性a
,因此可以使用.
运算符进行访问。
换句话说,add().a
访问a
函数调用的结果的属性add
,而不是函数对象本身的属性add.a
是{{1}})。
答案 1 :(得分:2)
add()
这创建了一个对象,它没有分配给一个名称(也许这就是混乱),然后.a
访问了(未命名的)add()
对象的成员。
print
只需做它需要做的事情。
这几乎与此相同:
foo = add()
print foo.a
del(foo)