用户定义的python函数上的Dot运算符

时间:2013-06-24 07:39:40

标签: python

我几天前看过this帖子,我理解(在阅读答案后)OP为什么会出现问题,但我不明白使用点运算符会发生什么“添加”功能:print add().aa是类test的元素,add创建test的实例,但如何在函数上正确访问a

2 个答案:

答案 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)