2024-06-11 22:53:44 发布
网友
像这样定义相关常量是pythonic吗?你知道吗
定义:
class LinkChoices(object): FOLLOW, FRIENDSHIP, CLOSE_FRIENDSHIP, = 10, 20, 30,
使用:
from some_module import LinkChoices link.status = LinkChoices.FOLLOW
这样定义常量有什么缺点吗?你知道吗
正如链接线程中所建议的,您还可以采取防御措施,防止意外重新定义常量,例如:
def const(cls): class _const(type): def __setattr__(self,name,value): raise ValueError("Can't rebind const(%s)" % name) class _(cls): __metaclass__ = _const return _ @const class LinkChoices(object): FOLLOW, FRIENDSHIP, CLOSE_FRIENDSHIP, = 10, 20, 30, LinkChoices.FOLLOW = 123 # raises ValueError
不知道这是不是“Python”。我宁愿不。你知道吗
是的,我认为这是相当python,除了我不会用所有的\u大写的类名。你知道吗
我也看不出后面逗号有什么意义。你知道吗
最后,我个人可能会为每行定义一个常量,而不是将它们集中在同一行。你知道吗
有关进一步讨论,请参见How to create a constant in Python
正如链接线程中所建议的,您还可以采取防御措施,防止意外重新定义常量,例如:
不知道这是不是“Python”。我宁愿不。你知道吗
是的,我认为这是相当python,除了我不会用所有的\u大写的类名。你知道吗
我也看不出后面逗号有什么意义。你知道吗
最后,我个人可能会为每行定义一个常量,而不是将它们集中在同一行。你知道吗
有关进一步讨论,请参见How to create a constant in Python
相关问题 更多 >
编程相关推荐