美文网首页
Werkzeug的Local系列(1) - 属性__setatt

Werkzeug的Local系列(1) - 属性__setatt

作者: dnsir | 来源:发表于2019-07-13 10:33 被阅读0次

    Python类有哪些属性

    class Foo(object):
        c_foo_a = 'Foo'
    
        def __init__(self):
            self.i_foo_a = 'self.foo'
        
        def Foo_func(self):
            pass
    
    print(dir(Foo))
    

    输出结果:

    ['Foo_func', '__class__', '__delattr__', '__dict__', '__dir__', '__doc__', 
    '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', 
    '__hash__', '__init__', '__init_subclass__', '__le__', '__lt__', 
    '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', 
    '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', 
    '__weakref__', 'c_foo_a']
    
    

    可以看到一些平时很少用到的内置方法

    自定义属性访问

    Python3的自定义数据访问里提到几个重要的魔术方法:

    1. __getattr__
    2. __getattribute__
    3. __setattr__
    4. __delattr__
      按照Python的文档提到:

    methods can be defined to customize the meaning of attribute access (use of, assignment to, or deletion of x.name) for class instances.

    先不理解这些特性,后续开始了解属性代理的访问,通过上述的魔术方法可以实现特殊的用途。

    相关文章

      网友评论

          本文标题:Werkzeug的Local系列(1) - 属性__setatt

          本文链接:https://www.haomeiwen.com/subject/kqqpkctx.html