2024-04-25 20:18:23 发布
网友
我想知道当我使用=时Python调用了什么:
=
a = b
我在哪里可以找到这些信息?在
我将使用my=
a也会有类似的行为
您不能重新定义=,但可以重新定义:
a[c] = b or a.c = b
通过分别实现^{}或{a2}来实现这一点。对于属性,使用^{}通常更合适,但是__setattr__也有它的用途。在
__setattr__
或者你可以这样做:
def funct(obj): import copy print('entro') return str(copy.deepcopy(obj)) class metacl(type): def __new__(meta,classname,supers,classdict): classdict['__xxx__'] = funct return type.__new__(meta,classname,supers,classdict) class list(list,metaclass=metacl): pass
我不知道您必须覆盖哪个内置函数(xxx)。 我认为这是使用元类的独特方式。在
不能在Python中重新定义=。它将始终将右侧的对象绑定到左侧的名称。在
注意,这与C++不同,其中^ {< CD1>}操作符通常涉及将数据复制到目标变量。Python没有C++意义上的变量。Python有可以绑定到对象的名称。在
您不能重新定义
=
,但可以重新定义:通过分别实现^{} 或{a2}来实现这一点。对于属性,使用^{} 通常更合适,但是
__setattr__
也有它的用途。在或者你可以这样做:
我不知道您必须覆盖哪个内置函数(xxx)。 我认为这是使用元类的独特方式。在
不能在Python中重新定义
=
。它将始终将右侧的对象绑定到左侧的名称。在注意,这与C++不同,其中^ {< CD1>}操作符通常涉及将数据复制到目标变量。Python没有C++意义上的变量。Python有可以绑定到对象的名称。在
相关问题 更多 >
编程相关推荐