我的代码中有一个类处理显示输出。需要在本课程中设置一系列颜色,画笔和笔,但我不确定如何。
我应该将它们设置为单独的类属性吗?
GREEN = '#00ff00'
BLUE = '#0000ff'
RED = '#ff0000'
我应该将它们添加到字典中吗?
colours = {'GREEN': '#00ff00',
'BLUE': '#0000ff',
'RED': '#ff0000'}
我应该遍历它们并使用实例的__setattr__
方法分配所有方法吗?
for k, v in colours.items():
mydraw.__setattr__(k, v)
以module.item
访问这些属性并不常见;例如logging.WARN
或wx.HORIZONTAL
?另外,我应该在类或模块中设置它们吗?
答案 0 :(得分:1)
根据样式指南,PEP-0008(强调我的):
常量通常在模块级别上定义,并以全部大写字母书写,下划线分隔单词。示例包括
MAX_OVERFLOW
和TOTAL
。
答案 1 :(得分:0)
从python 3.4开始,您可以继承类enum
,如下所示:
from enum import Enum
class Colour(Enum):
GREEN = '#00ff00'
BLUE = '#0000ff'
RED = '#ff0000'
然后只需输入Colour.GREEN.value
,依此类推......
另一种选择,既不需要Python 3.4也不需要输入Colour.GREEN.value
:
def enum(**enums):
return type('Enum', (), enums)
Colour = enum(GREEN='#00ff00', BLUE='#0000ff', RED='#ff0000')
然后Colour.GREEN
评估为'#00ff00'
。