如何解决在函数内部具有变量变量
我想将函数的输入(称为标签)插入全局变量的名称,因此它是基于输入的唯一变量。在示例脚本中,它类似于:
#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 举报,一经查实,本站将立刻删除。