簡體   English   中英

如何從python靜態方法訪問成員變量?

[英]How to access a member variable from a python static method?

class Settings:
    WORKSPACE = env.get("BK_WKPS")

    def localize_path(*args):
        if WORKSPACE["path"]:
            path = join_path(WORKSPACE["path"], *args)
            return path
        else:
            return None

    log_location = localize_path("logs")

print(Settings.log_location)

文件settings.py”,

第27行,在localize_path中

如果WORKSPACE [“ path”]:

NameError:名稱“ WORKSPACE”未定義

您的log_location成員將在定義類之前進行初始化,因此我認為您應該將WORKSPACE作為參數傳遞:

class Settings:
    WORKSPACE = env.get("BK_WKPS")

    def localize_path(WS, *args):
        if WS["path"]:
            path = join_path(WS["path"], *args)
            return path
        else:
            return None

    log_location = localize_path(WORKSPACE, "logs")

print(Settings.log_location)

更新:

我肯定使用這種方法是不好的形式,因為您留下的類帶有其他程序員認為可以調用的方法。

暫無
暫無

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

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