怎么在python中为__getattribute__设置属性

本篇文章为大家展示了怎么在python中为__getattribute__设置属性,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

python主要应用领域有哪些

1、云计算,典型应用OpenStack。2、WEB前端开发,众多大型网站均为Python开发。3.人工智能应用,基于大数据分析和深度学习而发展出来的人工智能本质上已经无法离开python。4、系统运维工程项目,自动化运维的标配就是python+Django/flask。5、金融理财分析,量化交易,金融分析。6、大数据分析。

1、说明

这个方法将会拦截所有获取的属性的操作,包括未定义的属性;

属性内置函数允许我们将方法与特定类属性的获取和集合操作相关联;

属性描述符为特定的类的属性提供了一组__get__和 __set__方法访问协议;

实例属性在类中声明但是在每一个类的对象实例中隐式存储。

2、实例

class AttrManager:
    def __getattribute__(self, item):
        """
        :param item:
        :return:
        避免产生递归循环引用,不要使用self.attr_name对属性进行访问或者设置,属性访问会经过这个方法
        这里没有保存数据,因此返回的时候是None
        """
        print("call  __getattribute__ for item[%s] " % item)def test_attr_manager():
    manager = AttrManager()
    manager.name = "attr manager name"
    print(manager.name)
    print(manager.age)if __name__ == '__main__':
    test_attr_manager()>>> python attr.py  # 2.x与3.x的不同输出

上述内容就是怎么在python中为__getattribute__设置属性,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注行业资讯频道。