[英]How get parent object reference in python with out passing argument 'self'?
看下面的例子:
class People:
def __init__(self, home):
self.home = home
self.name = 'Ankit'
self.set_add()
def set_add(self):
self.add = self.home.add
class Home:
def __init__(self):
self.add = 'Jaipur, Rajasthan'
def get_add(self):
people = People(self)
print(people.add)
pass
home = Home()
home.get_add()
在这里,我必须传递self
参数来访问父对象引用。 有没有什么方法可以在不传递任何参数的情况下访问父对象引用。
编辑:如果没有得到它,请查看类People
中的__init__
函数,在此我为该类的对象分配了引用,该类在其中创建了类“ People”的对象,然后在set_add
方法中add
在其中创建People
类的对象的该类对象的。
所有这些事情都是可能的,因为我正在传递创建People
类的对象的类的对象的引用,正如您在创建People
类的对象时在Home
类的get_add
方法中看到的get_add
,我正在传递将作为引用的self
每当将创建Home
类的对象时, Home
类的对象的值。
但是我想要我不想传递任何论点。 因此,有没有其他我可以在其他类中创建对象时不传递任何参数的方法。
你通过self
(实例化的Home()
对象, home
在这种情况下)作为价值home
类的initilizer的说法Home
。
self
即实例)是隐式传递的,您再次使用了self
使类初始化器如下:
People.__init__(self, self)
另外,类之间没有父子关系,因为它们之间没有关系,您所使用的就像合成。 也许您打算传递self.add
(看似地址):
people = People(self.add)
同样,您的类定义中有许多不清楚的内容,如果不完全理解它们,很难得出正确的结论。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.