在python中,如果我给一个方法分配一个变量意味着什么?

2021-01-26 10:59:51 发布

您现在位置:Python中文网/ 问答频道 /正文

阅读我遇到的CherryPy教程

class HelloWorld(object):
    def index(self):
        return "Hello World!"
    index.exposed = True

那是不是意思?方法索引的局部范围中是否暴露了变量?如果是,我可以更改expose的值吗?我认为它与python的元对象协议有关,它可以将类定义公开为对象本身。

2条回答
网友
1楼 ·

函数是Python中的一类对象。函数定义创建函数对象并将其绑定到函数名。函数对象可以有属性,这就是您在这里看到的。生命的函数是时间的函数,而生命的函数是时间的函数。他们是完全分开的。在

网友
2楼 ·

不,它不是函数索引的局部变量,而是函数的一个属性。 是的,你也可以在函数之外修改它。在

阅读函数属性的PEP 232。在

示例:

In [2]: def foo():pass
   ...: 

In [3]: foo.bar="text"

In [4]: foo.bar
Out[4]: 'text'

相关问题