Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/346.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在这段Python代码中_usetattr_uu的含义是什么?_Python - Fatal编程技术网

在这段Python代码中_usetattr_uu的含义是什么?

在这段Python代码中_usetattr_uu的含义是什么?,python,Python,我想知道uuuSetAttr_uuuuuuuuuuu魔法函数和self之间的区别。 现在我在这里添加了更多的代码。在构造函数中,它是object.setattr。那么被覆盖的代码对它有什么影响呢?与几乎所有的类一样,\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu。如果不需要更改x.foo的语义,则可能不存在setattr。x、 foo被定义为_usetattr__;

我想知道uuuSetAttr_uuuuuuuuuuu魔法函数和self之间的区别。
现在我在这里添加了更多的代码。在构造函数中,它是object.setattr。那么被覆盖的代码对它有什么影响呢?

与几乎所有的类一样,\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu。如果不需要更改x.foo的语义,则可能不存在setattr。x、 foo被定义为_usetattr__; on self;所以它可以做任何事情,比如像Django那样设置DB字段


但是请注意,问题中的代码调用object.\uuuuSetAttr\uuuuuuuuuuu,而不是self上的代码。因此,即使当前类重写_usetattr_uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu。。。设置属性。

这是整个类吗?它正在调用object.\uuuuSetAttr\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu?否则,我很确定这两个版本都相当于避免对象的版本。uuu setattr_uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu。通常不需要为uuu init_uuuu.@ShadowRanger fat finger:。在构造函数中,它是object.setattr。那么覆盖对它有影响吗?
class Local(object):
__slots__ = ('__storage__', '__ident_func__')

def __init__(self):
    object.__setattr__(self, '__storage__', {})
    object.__setattr__(self, '__ident_func__', get_ident)

def __call__(self, proxy):
    """Create a proxy for a name."""
    return LocalProxy(self, proxy)

def __getattr__(self, name):
    try:
        return self.__storage__[self.__ident_func__()][name]
    except KeyError:
        raise AttributeError(name)

def __setattr__(self, name, value):
    ident = self.__ident_func__()
    storage = self.__storage__
    try:
        storage[ident][name] = value
    except KeyError:
        storage[ident] = {name: value}

def __delattr__(self, name):
    try:
        del self.__storage__[self.__ident_func__()][name]
    except KeyError:
        raise AttributeError(name)