如何在Python中的不同类之间共享实例变量

库尔特·皮克(Kurt Peek)

假设我有一类Game具有属性player1player2Qplayer1并且player2它们本身是该类的实例,该类Player也具有称为的属性Q我想使它这样,当我实例化一个Game,它的股票其Q用的情况下,Player它是用实例化。

为了说明我的意思,请考虑以下代码:

class Game:
    def __init__(self, player1, player2):
        self.player1 = player1
        self.player2 = player2
        self.Q = {}

class Player:
    def __init__(self, mark):
        self.mark = mark
        self.Q = {}

player1 = Player(mark="X")
player2 = Player(mark="O")

game = Game(player1, player2)           # Instantiate a game with player 1 and player 2

game.Q["some key"] = "some value"

# I would like this to happen automatically
player1.Q = game.Q
player2.Q = game.Q

我希望player1andplayer2Q变量能够自动更新,game.Q只要它发生变化即可。我怎样才能做到这一点?

库尔特·皮克(Kurt Peek)

按照Rawing的评论,我self.Q = self.player1.Q = self.player2.Q = {}在中使用__init__Game

class Game:
    def __init__(self, player1, player2):
        self.player1 = player1
        self.player2 = player2
        self.Q = self.player1.Q = self.player2.Q = {}

class Player:
    def __init__(self, mark):
        self.mark = mark
        self.Q = {}

player1 = Player(mark="X")
player2 = Player(mark="O")

game = Game(player1, player2)           # Instantiate a game with player 1 and player 2

game.Q["some key"] = "some value"

结果,player1.Q现在{'some key': 'some value'}无需手动“更新”即可产生收益

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Python:如何在不同类的实例之间共享数据?

来自分类Dev

如何在不同的CMake文件之间共享变量

来自分类Dev

Ruby:如何在两个单独的类之间共享实例变量?

来自分类Dev

如何在C ++中的命名空间之间共享变量?

来自分类Dev

在不同类实例之间共享的字符串变量

来自分类Dev

如何在tkinter中访问不同类的变量?

来自分类Dev

如何从Java中的不同类访问变量?

来自分类Dev

如何在路由功能之间共享变量?

来自分类Dev

C#中不同类型的实例化之间的区别

来自分类Dev

如何在Python中的不同类中使用变量?

来自分类Dev

如何在Ionic 2中的各个组件之间共享变量?

来自分类Dev

Golang如何在goroutine之间共享变量?

来自分类Dev

如何在不同的CMakeList.txt之间共享变量?

来自分类Dev

如何在模块之间共享此变量?

来自分类Dev

如何在Flutter中调用来自不同类的变量

来自分类Dev

如何在异步函数之间共享变量?

来自分类Dev

如何在jQuery'on'对象中的方法之间创建共享变量?

来自分类Dev

如何在JS指令的不同部分之间共享变量?

来自分类Dev

如何在不同的CMake文件之间共享变量

来自分类Dev

如何在不同类的另一个实例方法中引用实例方法?

来自分类Dev

如何在方法之间共享变量?

来自分类Dev

如何在不同的tiledMap之间共享tileSet?

来自分类Dev

在android中相同类的方法之间共享变量

来自分类Dev

python中不同类型变量的比较

来自分类Dev

Python:如何为在不同类的实例中创建的类的实例传递属性值?

来自分类Dev

我如何在 Python 中的 2 个不同进程之间共享串行端口

来自分类Dev

如何在TestNG中的测试之间共享变量?

来自分类Dev

如何在方法之间共享变量?

来自分类Dev

在android中的不同类之间共享String的内容

Related 相关文章

  1. 1

    Python:如何在不同类的实例之间共享数据?

  2. 2

    如何在不同的CMake文件之间共享变量

  3. 3

    Ruby:如何在两个单独的类之间共享实例变量?

  4. 4

    如何在C ++中的命名空间之间共享变量?

  5. 5

    在不同类实例之间共享的字符串变量

  6. 6

    如何在tkinter中访问不同类的变量?

  7. 7

    如何从Java中的不同类访问变量?

  8. 8

    如何在路由功能之间共享变量?

  9. 9

    C#中不同类型的实例化之间的区别

  10. 10

    如何在Python中的不同类中使用变量?

  11. 11

    如何在Ionic 2中的各个组件之间共享变量?

  12. 12

    Golang如何在goroutine之间共享变量?

  13. 13

    如何在不同的CMakeList.txt之间共享变量?

  14. 14

    如何在模块之间共享此变量?

  15. 15

    如何在Flutter中调用来自不同类的变量

  16. 16

    如何在异步函数之间共享变量?

  17. 17

    如何在jQuery'on'对象中的方法之间创建共享变量?

  18. 18

    如何在JS指令的不同部分之间共享变量?

  19. 19

    如何在不同的CMake文件之间共享变量

  20. 20

    如何在不同类的另一个实例方法中引用实例方法?

  21. 21

    如何在方法之间共享变量?

  22. 22

    如何在不同的tiledMap之间共享tileSet?

  23. 23

    在android中相同类的方法之间共享变量

  24. 24

    python中不同类型变量的比较

  25. 25

    Python:如何为在不同类的实例中创建的类的实例传递属性值?

  26. 26

    我如何在 Python 中的 2 个不同进程之间共享串行端口

  27. 27

    如何在TestNG中的测试之间共享变量?

  28. 28

    如何在方法之间共享变量?

  29. 29

    在android中的不同类之间共享String的内容

热门标签

归档