如何在Python中重新定义=符号?

2024-04-25 20:18:23 发布

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

我想知道当我使用=时Python调用了什么:

a = b

我在哪里可以找到这些信息?在

我将使用my=

a也会有类似的行为

^{pr2}$

Tags: 信息mypr2
3条回答

您不能重新定义=,但可以重新定义:

a[c] = b
   or
a.c  = b

通过分别实现^{}或{a2}来实现这一点。对于属性,使用^{}通常更合适,但是__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有可以绑定到对象的名称。在

相关问题 更多 >