Python\uuuuu新的\uuuuuuu dundor方法
我有下面的代码,我知道Python\uuuuu新的\uuuuuuu dundor方法,python,python-3.x,Python,Python 3.x,我有下面的代码,我知道\uuuuu new\uuuu用于创建类的实例,\uuuuuu init\uuuu方法用于初始化对象的值 \uuuu init\uuuu是否仅在返回基类实例时调用 我想要的是返回另一个名为class A的类的实例。 有没有办法让\uuuu init\uuuu来配置类a的实例 # Python program to # demonstrate __new__ method # class whose object # is returned class Geeksfor
\uuuuu new\uuuu
用于创建类的实例,\uuuuuu init\uuuu
方法用于初始化对象的值
\uuuu init\uuuu
是否仅在返回基类实例时调用
我想要的是返回另一个名为class A的类的实例。
有没有办法让\uuuu init\uuuu
来配置类a的实例
# Python program to
# demonstrate __new__ method
# class whose object
# is returned
class GeeksforGeeks(object):
def __str__(self):
return "GeeksforGeeks"
# class returning object
# of different class
class Geek(object):
def __new__(cls):
return GeeksforGeeks()
def __init__(self):
print("Inside init")
print(Geek())
Output:
GeeksforGeeks
如合同所述:
如果在对象构造期间调用了\uuuuuuuuuuuuuuuuuuuu new\uuuuuuuuuu()
,它将返回一个
cls
的实例或子类,然后是新实例的\uuuu init\uuuu()
方法将像\uuuu init\uuuu(self[,…])
一样被调用,其中self
是
新实例和其余参数与以前相同
传递给对象构造函数
如果\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu
所以不,它不会被称为。您可以自己手动称呼它。太好了,谢谢您的兴高采烈。