在Python中将两个类相互链接的正确方法是什么

斯文

我在python中编写蛇编码以进行练习。因此,我必须上课:Field()而且Snake()我必须从SnakeinField以及其他方面获取属性

我这样做

if __name__ == "__main__":
  snake=Snake()
  field=Field(snake)
  snake.field = field

在字段中使用__ init __:

def __init__(self, snake):
  self.snake = snake

这是这样做的“正确”方法,还是有更好或更普遍的方法?

布布

如果两个类必须相互引用,那么可以通过以下一种更好的方法来确保:

class Snake:
    def set_field(self, field):
        self.field = field


class Field:
    def __init__(self, snake):
        self.snake = snake
        snake.set_field(self)

snake = Snake()
field = Field(snake)

您现在不再需要显式地编码,snake.field = field因为现在当您使用Field对象的实例构造Snake对象时,Field构造函数将确保Snake使用返回该Field对象的引用来初始化该对象。问题的关键是必要的初始化代码应放置在构造函数,即__init__方法,以及因为有之间的关系Field,并Snake认为是双向的,使它在代码中明确。

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

比较两个Pair <?,?>的正确方法是什么?

来自分类Dev

在简单注入器中将两个接口注册为单例的类的行为是什么

来自分类Dev

在简单注入器中将两个接口注册为单例的类的行为是什么

来自分类Dev

在python中将两个项目列表相互求和的最快方法

来自分类Dev

在python中将两个项目列表相互求和的最快方法

来自分类Dev

两个类/表之间的联接的正确的Hibernate Query语法是什么?

来自分类Dev

用一个域名设置两个IP的正确方法是什么?

来自分类Dev

在Clojure中将两个整数数组相加的最快方法是什么?

来自分类Dev

什么是正确的方法/可以链接两个AngularJs服务调用,然后对返回的数据执行功能?

来自分类Dev

让两个容器相互链接

来自分类Dev

使用GSON比较两个JSON字符串的正确方法是什么?

来自分类Dev

在Go中找到两个整数之间的最小值的正确方法是什么?

来自分类Dev

流星把手:在某种情况下比较两个变量的正确方法是什么?

来自分类Dev

原子交换两个无符号32位变量(ULONG)的正确方法是什么?

来自分类Dev

在php中比较两个日期的正确方法是什么?

来自分类Dev

组织同一模型的两个不同视图的正确方法是什么?

来自分类Dev

在两个https网站之间打开jQuery $ .ajax连接的正确方法是什么?

来自分类Dev

使用GSON比较两个JSON字符串的正确方法是什么?

来自分类Dev

组织同一模型的两个不同视图的正确方法是什么?

来自分类Dev

呈现两个异步更新的值的正确方法是什么?

来自分类Dev

使用 LINQ 检查匹配属性的两个集合迭代的正确方法是什么?

来自分类Dev

python中两个嵌套的for循环的结果,保存列表的正确位置是什么?

来自分类Dev

两个函数或两个类如何在python中相互调用

来自分类Dev

Python-在两个类之间创建多对一关系,并创建一个相互引用的方法

来自分类Dev

在node.js中将一个流传输到两个流的最佳方法是什么

来自分类Dev

Python-链接了两个类的变量

来自分类Dev

我使用了两个相互链接的ChainedForeignKey字段,但没有。为什么?

来自分类Dev

在python中两个对象之间存储和使用信息的最佳方法是什么?

来自分类Dev

迭代两个列表并按位置计算的python方法是什么?

Related 相关文章

  1. 1

    比较两个Pair <?,?>的正确方法是什么?

  2. 2

    在简单注入器中将两个接口注册为单例的类的行为是什么

  3. 3

    在简单注入器中将两个接口注册为单例的类的行为是什么

  4. 4

    在python中将两个项目列表相互求和的最快方法

  5. 5

    在python中将两个项目列表相互求和的最快方法

  6. 6

    两个类/表之间的联接的正确的Hibernate Query语法是什么?

  7. 7

    用一个域名设置两个IP的正确方法是什么?

  8. 8

    在Clojure中将两个整数数组相加的最快方法是什么?

  9. 9

    什么是正确的方法/可以链接两个AngularJs服务调用,然后对返回的数据执行功能?

  10. 10

    让两个容器相互链接

  11. 11

    使用GSON比较两个JSON字符串的正确方法是什么?

  12. 12

    在Go中找到两个整数之间的最小值的正确方法是什么?

  13. 13

    流星把手:在某种情况下比较两个变量的正确方法是什么?

  14. 14

    原子交换两个无符号32位变量(ULONG)的正确方法是什么?

  15. 15

    在php中比较两个日期的正确方法是什么?

  16. 16

    组织同一模型的两个不同视图的正确方法是什么?

  17. 17

    在两个https网站之间打开jQuery $ .ajax连接的正确方法是什么?

  18. 18

    使用GSON比较两个JSON字符串的正确方法是什么?

  19. 19

    组织同一模型的两个不同视图的正确方法是什么?

  20. 20

    呈现两个异步更新的值的正确方法是什么?

  21. 21

    使用 LINQ 检查匹配属性的两个集合迭代的正确方法是什么?

  22. 22

    python中两个嵌套的for循环的结果,保存列表的正确位置是什么?

  23. 23

    两个函数或两个类如何在python中相互调用

  24. 24

    Python-在两个类之间创建多对一关系,并创建一个相互引用的方法

  25. 25

    在node.js中将一个流传输到两个流的最佳方法是什么

  26. 26

    Python-链接了两个类的变量

  27. 27

    我使用了两个相互链接的ChainedForeignKey字段,但没有。为什么?

  28. 28

    在python中两个对象之间存储和使用信息的最佳方法是什么?

  29. 29

    迭代两个列表并按位置计算的python方法是什么?

热门标签

归档