是否可以从另一个对象调用对象

时间:2019-10-03 21:54:26

标签: python class

我正在尝试为pygame中的颜色分类。 这就是我现在所拥有的。

class color:
    white =     (255, 255, 255)
    black =     (0, 0, 0)
    red =       (200, 0 ,0)
    green =     (0, 200, 0)
    blue =      (0, 0, 200)
    brightRed = (255, 0, 0)
    darkRed =   (127, 0, 0)

color = color()
print (color.brightRed)

这将按预期方式打印(255,0,0)。 我想知道是否可以做这样的事情:

color = color()
print(color.red)
print(color.red.bright)
print(color.red.dark)

所以我可以得到下一张照片:

    (200, 0 ,0)
    (255, 0, 0)
    (127, 0, 0)

我知道这个例子是没有意义的,但是如果可以的话,我可以做些其他的事情。

1 个答案:

答案 0 :(得分:1)

您可以定义另一个类

class Red:
    bright = (255, 0, 0)
    dark = (127, 0, 0)
    normal = (200, 0, 0)

class color:
    white =     (255, 255, 255)
    black =     (0, 0, 0)
    red =       Red
    green =     (0, 200, 0)
    blue =      (0, 0, 200)
    brightRed = Red.bright
    darkRed =   Red.dark

color = color()
print(color.red.normal)
print(color.red.bright)
print(color.red.dark)

您不能同时将color.red既是用户定义的类又是元组,因此不能使用color.red代替color.red.normal。但是您可以拥有normalRed = Red.normal,然后使用color.normalRed