Python在类中创建未知数量的属性

西奥·西米尔

我有以下代码。我想知道如何为labyrinth我拥有机器人的对象创建尽可能多的属性我有两个疑问,如何创建属性和如何调用函数。任何人 ?:)

class Robot:

    """Class that represents a robot."""

    def __init__(self, name, x, y):
        self.name = name
        self.x = x
        self.y = y


class Labyrinth:

    """Class that represents a labyrinth."""

    def __init__(self, obstacles, *args):
        self.grid = {}
        for robot in args:  # First doubt
            self.robot.name = [robot.x, robot.y]  # First doubt


robot_1 = Robot(robot_1, 5, 6)
robot_2 = Robot(robot_2, 8, 9)
...
...
...
# unkown number of robots...

labyrinth = Labyrinth(obstacles, ......)  # Second doubt
扭曲模拟

第一个选项,使用 alist来存储机器人:

 class Labyrinth:
    def __init__(self, obstacles, robots):
        self.robots = robots

labyrinth = Labyrinth(obstacles, [robot1, robot2]) 

第二个选项,使用argsrobots为了方便起见重命名为):

 class Labyrinth:
    def __init__(self, obstacles, *robots):
        self.robots = robots

labyrinth = Labyrinth(obstacles, robot1, robot2) 

然后,您可以访问每个机器人与名字labyrinth.robots[i].name在那里i是你想要的机器人的索引。

如果你真的想使用动态属性,你可以执行以下操作:

class A:    
    def __init__(self, *args):
        for idx, arg in enumerate(args):
            setattr(self, 'arg_' + str(idx), arg)

a = A(1,2,3,4)
print(a.arg_0, a.arg_1, a.arg_2, a.arg_3) # print "1 2 3 4"

但我建议你不要使用它。

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在MATLAB中创建未知数量的uicontrols

从python中未知数量的列表中创建所有可能的字符组合

从PHP中未知数量的字段创建变量

如何在python中遍历未知数量的存储桶?

迭代并比较Python中未知数量的输入

Ruby - 从文件创建未知数量的变量

WinApi动态创建未知数量的按钮

Java - 获取用户输入以创建未知数量的类对象/数组/数组列表

从文件中读取未知数量的整数

在函数中传递未知数量的参数

在 React 中处理未知数量的状态

从输入中获取未知数量的参数

是否可以在Python中创建具有未知属性的类?

Gremlin Python-如果边缘不存在,则在边缘创建时将未知数量的属性添加到边缘

如何使用python“格式”按未知数量的变量创建目录

有没有办法在C ++中创建未知数量的变量的构造函数?

如何将未知数量的行写入由我的脚本创建的 textFile 中?

如何创建VBA循环以基于一列中未知数量的重复值对总数求和?

如何在python中的函数中彼此相乘未知数量的参数

Neo4j搜索未知数量的属性

C ++ DirectX 11如何交错未知数量的顶点属性

创建未知数量的以编程方式定义的变量

创建带有未知数量参数的bash别名

创建未知数量的对象实例的有效方法

创建带有未知数量参数的Laravel雄辩查询

如何为未知数量的输入创建新结构

等待由CreateThread创建的未知数量的线程

有没有办法使用python列出json中未知数量的元素?

如何在Python动画函数中返回未知数量的对象