python模块中全局参数的约定



我有一个具有多个绘图功能的模块,我想有两个颜色主题,一个是浅色,另一个是深色。

说我有两种方法:

def plot_function_1(color_dark='#212121'):
    ...
def plot_function_2(color_dark='#212121'):
    ...

这感觉有点多余。处理这个问题的最python方法是什么?我会在模块COLOR_DARK = '#212121'中定义一个变量,然后调用:

def plot_function_1(color_dark=COLOR_DARK):
    ...
创建颜色

dict并通过所需的颜色。

color_dict = {'COLOR_DARK': '#212121', 'COLOR_LIGHT': '#121212'}
def plot_function_1(color):
    print(color)

plot_function_1(color_dict['COLOR_DARK'])

输出:

#212121

另一种方法(使用枚举(:

from enum import Enum
class Color(Enum):
    DARK_COLOR = 200
    LIGHT_COLOR = 400
    DARKER_COLOR = 500
    LIGHTER_COLOR = 222
    print(Color.DARK_COLOR.name)
    print(Color.DARK_COLOR.value)

输出:

DARK_COLOR
200

同样地:

def plot_function_1(color):
    print(color)

plot_function_1(Color.DARK_COLOR.name)    # or use .value if required

是的,你的想法很到位。"惯例"是将你的值拉到变量中。

如果这是模块级变量,您可以通过以大写形式命名来指示这一点,pep-8 调用此常量

相关内容

  • 没有找到相关文章