pyhon__new__方法.py

Posted Xingtxx

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了pyhon__new__方法.py相关的知识,希望对你有一定的参考价值。

class A(object):
    def __init__(self,*args,**kwargs):
        print("init 方法")


    def __new__(cls, *args, **kwargs):
        print("new 方法")
        return object.__new__(cls)





print(id(A()))
a=A()
print(id(a))
"""
运行结果
new 方法
init 方法
2750930711504
new 方法
init 方法
2750930711504

总结
1、__new__ 至少要一个参数 cls ,代表实例化的类,此参数是实例化的实话由python 解释器提供
2、__new__ 必须有返回值,返回实例化cls出来的实例,还可以return 父类__new__出来的实例,或者直接object的__new__出来的实例
3、__init__有一个参数self ,是由__new__出来的实例,__init__是在创建出实例的时候初始化了动作,不需要返回值。


"""

 

以上是关于pyhon__new__方法.py的主要内容,如果未能解决你的问题,请参考以下文章

Discord.py 错误:TypeError:__new__() 得到了一个意外的关键字参数“deny_new”

__new__.py

pyhon----函数和方法的关系

pyhon中方法属性迭代器

Python 元类行为(不调用 __new__),有解释吗?

pyhon SyntaxError: Non-ASCII character 'xe8' in file xxx on line xx, but no encoding