一尘不染

如何测试 python 函数中的所有对象值

py

我想测试这个函数中的所有 x 值,而不调用每个 x 值( x[0] …),所以一种 x[n] 或’用于 x 的所有值’。并根据 x 值是否通过 IF 语句列出列表中的所有 TickerZ 值。

        room = str('Bingo Bango Bungo EURUSD=X')

        x = room.split()
        def Symbol(symbol):
            aapl = yf.Ticker(symbol)
            ainfo = aapl.history(period='1y')
            if len(ainfo) >= 40:
                print('yes it is a symbol')
                global tickerZ
                tickerZ = symbol
                new_Memory = Memory.objects.create(user=current_user, raw_message=room, date1=datemin, date2=datemax, ticker=tickerZ, command=cmd_exec)
                new_Memory.save()
                return tickerZ

        symb1 = Symbol(x[0])
        symb2 = Symbol(x[1])
        symb3 = Symbol(x[2])
        symb4 = Symbol(x[3])

代码解释:所以基本上,我有一个字符串,我将它分成代表所有 x 值的单词。在这种情况下 x[0] 是宾果游戏。我将所有 x 传递到 IF 语句中以过滤相关的 x 值。如果 TickerZ 有值,我知道 ax 是否相关,因为变量是在过滤器之后定义的。


阅读 105

收藏
2023-02-01

共1个答案

一尘不染

您可以使用列表理解来遍历所有 x 值,并只添加将 Symbol 函数的 if 语句传递给 的符号ticker_list。然后ticker_list用于创建和保存new_Memory对象

room = str('Bingo Bango Bungo EURUSD=X')

x = room.split()
def Symbol(symbol):
    aapl = yf.Ticker(symbol)
    ainfo = aapl.history(period='1y')
    if len(ainfo) >= 40:
        print('yes it is a symbol')
        global tickerZ
        tickerZ = symbol
        return True
    return False

ticker_list = [symbol for symbol in x if Symbol(symbol)]
new_Memory = Memory.objects.create(user=current_user, raw_message=room, date1=datemin, date2=datemax, ticker=ticker_list, command=cmd_exec)
new_Memory.save()
2023-02-01