我有一个具有多个绘图功能的模块,并且我想有两个颜色主题,一个主题为浅色,另一个为深色。
我说我有两种方法:
def plot_function_1(color_dark='#212121'):
...
def plot_function_2(color_dark='#212121'):
...
感觉有点多余。解决这个问题的最有效方式是什么?我可以在模块
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