python - 如何从 python 静态方法访问成员变量?
问题描述
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)
文件设置.py",
第 27 行,在 localize_path 中
如果工作空间 [“路径”]:
NameError:名称“工作空间”未定义
解决方案
您的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)
更新:
我确信这是一种不好的形式,使用这样的方法,因为你留下了一个带有另一个程序员认为他们可以调用的方法的类。
推荐阅读
- sql - SQL Server:为每个 BAY 插入缺失的行总共为 7
- python - networkx2 adjlist_inner_dict_factory 和 adjlist_outter_dict_factory 有什么区别
- javascript - 尝试在图表上添加 positionLine 时出错
- javascript - 有没有办法将 CSV 中的标题加载到表中以与系统中已有的标题进行比较?
- ansible - 使用 with_items 时如何访问项目外的变量?
- typescript - 一个接口中的多个泛型
- java - 如何在 intelliJ-idea 的主项目中使用 maven 模块(由用户创建)?
- javascript - 如何将道具传递给组件的孩子
- css - 更改 Algolia React Instant Search 组件的样式
- python - 为什么程序执行时间和以前一样?