如何多次运行相同的函数并保存为新变量

世界货币

正如标题所说,我试图运行一个函数大约 30 多次,但每次运行不同的变量。我试图将每次运行时保存为不同的变量,因为之后将对它们进行不同的计算。这是一个示例:

first = my_func(name = a, desc = b, ticker = c)
first.dict_name1 = z_score(first.data,12)

second = my_func(name = d, desc = e, ticker = f)
second.dict_name1 = ... (a diff calculation)

third = my_func(.....same process....)


class my_func:

    def __init__(
                 self,
                 name       = [],
                 desc       = '',
                 # tickers can be loaded as a list of strings, or if a custom field is needed it can use a tuple
                 tickers    = [],
                 indicator  = [],
                 signal     = []
                ):
    
        self.name       = name
        self.desc       = desc
        self.tickers    = tickers
    
        self.data       = {}
        self._data      = {}
    
        for ticker in tickers:
        
            # check if the ticker is a tuple, if so call the custom field
            if isinstance(ticker, tuple):
                self.load_data(ticker[0],ticker[1])
            else:
                self.load_data(ticker)

    def load_data(self,ticker, field='PX_LAST'):
    
        self.data[ticker] = bbg.bdh(ticker, fld_list = field, start_date='19300101')
德莱尼

这是循环和列表的一个很好的用例。列表列表保存每个调用的参数,并将它们收集在结果列表中

my_func_table = 
    # name, desc, ticker
    [1, 2, 3],
    [4, 5, 6],
    [7, 8, 9] ]

results = []
for name, desc, ticker in my_func_table:
    val = my_func(name=name, desc=desc, ticker=ticker)
    val.dict_name1 = z_score(val.data,12)
    results.append(val)

您还可以将这些结果与名称相关联。可能是带有名称的字典、全局名称空间,甚至是具有名称作为属性的普通类。

result_names = ["first", "second", etc...]

for var, vals in zip(result_names, my_func_table):
    name, desc, ticker = vals
    val = my_func(name=name, desc=desc, ticker=ticker)
    val.dict_name1 = z_score(val.data,12)
    globals()[var] = val

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何编写将用户输入保存为新变量名称的 bash 函数

如何运行get json并保存为变量,然后在其他方法中使用

将 PSQL 运行时参数保存为变量

如何将boxplot保存为变量?

如何将CSV文件保存为变量

MATLAB - 如何将动画函数保存为 gif

如何同时运行相同的Eclipse项目多次?

解压python字典并保存为变量

将Hubot输入保存为变量

将数字保存为变量

fwrite()变量未保存为“ $ variable”

将函数参数保存为字符

Python3多次使用相同的输入运行相同的函数,但每次都会产生不同的输出

顺序运行相同的Asynctask多次

运行相同的JavaScript以实现多次onclicks

setTimeout 多次执行相同的函数

如何将terragrunt的输出变量保存为常规shell环境变量?

如何uitable()保存为PDF,JPG等

如何在函数中编写函数以将对象保存为单独的 csv 文件?

使用不同的变量多次自动运行相同的测试计划

Java:创建一个新变量还是多次进行相同的计算?

如何返回保存为整数的给定程序的运行时?

如何安排每天在SQL Server Express中运行查询并将结果保存为CSV格式?

如何在Python中绘制子图并将其保存为新的类方法?

SQL:如何将查询结果保存为新的临时表?

如何获取 Excel VBA 代码以将过滤后的 CSV 保存为新的 CSV?

PowerPoint VBA:如何将每张幻灯片单独保存为新演示文稿?

您如何创建一个可以在c ++中将自身保存为变量的类?

Javascript Fetch API-如何将输出保存为对象的变量(不是Promise)