python - 是否可以将对象所属的所有者类称为属性?

标签 python

我不太确定这在 python 中是否可行(或类似的东西)。我想从作为此类的属性的对象访问类的方法(或另一个对象)。

考虑以下代码:

class A():
  def __init__(self):
     self.b = B()
     self.c = C()
  def print_owner(self):
     print('owner')

class B():
  def __init__(self):
     pass
  def call_owner(self):
     self.owner().print_owner()

所以b作为类A的对象属性,可以引用A的方法或属性?

或者类似的,b是否可以访问c

最佳答案

这是可能的。您可以将对 A 的引用传递给 B 构造函数:

...
    self.b = B(self)
...

class B:
    def __init__(self, a):
        self.a = a

因此,B.a 存储对其所有者 A 的引用。

关于python - 是否可以将对象所属的所有者类称为属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52109456/

相关文章:

python - 如何在排序 lambda 中处理邮政编码列表

python - 在读取 BigQuery 数据集的数据流中指定区域 python SDK

python - 从 shell 脚本中执行 python 代码

python - 如何在 Aegis Blade 中运行 Selenium

CherryPy 中的 Python 方法默认参数初始化问题

python : Compare two csv files and print out differences

python - 使用 Python 位串测量霍夫曼编码的效率

python - 为什么我的代码没有显示任何输出?我正在尝试使用while循环来调试我之前遇到的错误

python - pandas pivot_table 百分位数/分位数

python - 在 SQLAlchemy 中,为什么我的 load_only 不过滤我指定的任何列?