Python:交互对象属性

时间:2014-09-19 09:47:46

标签: python class object scope

我想写一个模型,其中存储在不同文件中的不同类正在交换信息。

例如,我有一个最终将执行模型的主文件

--main.py

from solution import Solver

solver = Solver()

solver.create()

还有两个文件/类应该在以后交换信息:

--solution.py
from grid import Remap
remap = Remap()

class Solver:
    def __init__( self ):
        self.solve = 4

    def create( self ): 
        remap.method1( )

        self.solve += remap.x+remap.y
        print self.solve

--grid.py
class Remap:
    def __init__( self ):
        self.x = 0
        self.y = 0

    def method1( self ):
        self.x += 1
        self.y += 2

到目前为止这种方法很有效,而且似乎很容易。

现在我想为grid.py/Remap添加另一个方法,该方法使用来自其他类 Solver 的当前属性 solve 。例如:

--grid.py
class Remap:
    def __init__( self ):
        self.x = 0
        self.y = 0

    def method1( self ):
        self.x += 1
        self.y += 2

    def method2( self ):
        self.x = ?????.solve

但是如何将更新的属性从一个类转换为另一个类,这些属性相互依赖,并避免循环依赖。我是否必须使用外部全局类(它们实际存在于Python中吗?)?

1 个答案:

答案 0 :(得分:0)

由于This is an experiment to send an email with image <img src="#{@truck_url}"></img> 正在访问Solver,因此应将其自身传递到remap

remap

然后class Solver: def __init__( self ): self.solve = 4 self.remap.solver = self 可以使用它:

remap