问题描述
我想将函数的输入(称为标签)插入全局变量的名称,因此它是基于输入的唯一变量。在示例脚本中,它类似于:
#Script/function 1 - when a file is deleted in a folder it triggers an event
# that runs function on_deleted():
on_deleted()
def on_deleted(event):
if "partoffilename1" in list_of_files:
do_this(label1)
elif "partoffilename2" in list_of_files:
do_this(label2)
#Script/function 2 - for every label input it has its own variable that has some
# calculations/iterations on a 'long' list of globals (!). So for each label it should
# pick its unique global,but also some globals that span across the other labels.
def do_this(label):
#Import globals here,which mostly all the variabeles below
label_min += -1
label_done = abs(label_min)
start_time_label = datime.Now()
#and then around 180 more lines of code with each a unique variable for the label
我不知道的窍门是如何根据第二个函数 do_this()的输入使变量可变,该第二个函数是标签。目前,我只是将其复制粘贴到一个实例中,然后根据标签重命名了所有变量....如此丑陋且冗长的代码难以维护。
我考虑在第二个函数中使用dict
,但随后我仍然需要单独解决每个变量的问题,以为其分配值。
另一个选项可能是class
,但是我在一个类中有很长的变量列表,而且我不知道如何避免以下情况:
class label:
class_variable_1 = "bla1"
class_variable_2 = "bla2"
def __init__(self,param1,param2,.....,param100):
self.instance_var1 = param1
self.instance_var2 = param2
....
self.instance_var100 = param100
所以也许应该是一个问题,是否有一个明智的解决方案来避免在类中为def __init__
输入/参数的清单很长?还是我受此约束?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)