返回

被 Python 函数和全局变量思维困住了?

发布时间:2022-06-21 01:50:09 389
# node.js

我目前正在分析财务数据,出于这个原因,我需要使用某种函数,比如某种类型的移动平均值,在代码中的不同时间,对于不同的时间序列和不同的时间框架。

要初始化一个函数,我需要声明一个全局变量,但该变量显然会保留上一次迭代的值,就像我在下面的玩具示例中所做的那样,我需要向数组中添加一个新的随机变量:

import numpy as np
import pandas as pd

def _foo_append_(x_i,count):               
    global x

    if count==0:
        x = []

    x.append(x_i)

    return x


for i in range(0,10):
    rv_1 = np.round(np.random.normal(10,5),decimals=2)
    rv_2 = np.round(np.random.normal(22,3),decimals=2)

    keep_1 = _foo_append_(x_i=rv_1,count=i)
    keep_2 = _foo_append_(x_i=rv_2,count=i)

在本例中,我得到了20个元素的bot keep1和keep2,但这两个数组都应该由10个元素组成。

所以,这不是关于一个特定的功能,而是如何处理像这样的需求。

我需要一个每次调用时都会自己创建一个新的唯一全局变量的函数,以便该变量将成为我的输出

  • 目前,我的策略是创建一个模块,在该模块中,我构建了几个同等的功能,例如:_foo_append_01(),_foo_append_02(),...,_foo_append_N()其中,在每个函数中,我将以不同的方式标记全局变量。

这个解决方案是可行的,但我认为这是一种非常糟糕的构建软件的方法。

同样,这不是关于特定的代码或函数,而是如何处理这种想法。

非常感谢。

特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报
评论区(2)
按点赞数排序
用户头像