簡體   English   中英

“例程” function 在 python 中調用 function 之前

[英]“Routine” function before the call of a function in python

世界!

我在名為FBST的 python 中創建了一個 class 。它具有以下屬性:

class FBST:

    def __init__(self, x, verbose=False):

        self._rejected_met = []
        self._acceptance_met = []
        self._acceptance_bar = []
        self._rejected_bar = []
        self.x = x
        self.verbose = verbose

如您所見,它有 4 個不同的列表。 這 4 個列表存儲有關名為_chain()的 function 的信息。 每次我調用chain()方法時,都必須“清理”這 4 個列表,將它們中的每一個再次變成一個空列表。 我正在使用以下代碼進行此清潔過程。


def chain(self):

    #cleaning the attributes
    for att in dir(self):
        if att.startswith("_"):
            setattr(self, att, [])

在 function 的開頭,這個循環是否有更“pythonic”的方法?

與其依賴於變量的特定命名約定,不如將它們放在字典中。

class FBST:

    def __init__(self, x, verbose=False):
        self.acc_rej = {
            "rejected_met": [],
            "accepance_met": [],
            "rejected_bar": [],
            "acceptance_bar": []
        }
        self.x = x
        self.verbose = verbose

    def chain(self):
        for key in self.acc_rej:
            self.acc_rej[key] = []
        ...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM