开发者社区> 问答> 正文

使用其他属性名称的值创建枚举

如何创建枚举类,使其属性使用其他成员的值?像我的以下代码

from enum import Enum
class ProjectPath(Enum):
    home = '~/home'
    app = '~/home/app'
    prefix = '~/home/app/prefix'
    postfix = '~/home/app/postfix'

'''
try to do something like
from enum import Enum
class ProjectPath(Enum):
    home = '~/home'
    app = f'{self.home.value}/app'
    prefix = f'{self.app.value}/prefix'
    postfix = f'{self.app.value}/postfix'
'''

问题来源:stackoverflow

展开
收起
is大龙 2020-03-24 21:42:17 429 0
1 条回答
写回答
取消 提交回答
  • 不要尝试将内部变量称为枚举,而应像局部变量一样使用它们。

    from enum import Enum
    
    
    class ProjectPath(Enum):
        home = '~/home'
        app = f'{home}/app'
        prefix = f'{app}/prefix'
        postfix = f'{app}/postfix'
    
    
    print(\*f"{var=}" for var in ProjectPath], sep="\n")
    

    输出

    var=<ProjectPath.home: '~/home'>
    var=<ProjectPath.app: '~/home/app'>
    var=<ProjectPath.prefix: '~/home/app/prefix'>
    var=<ProjectPath.postfix: '~/home/app/postfix'>
    

    回答来源:stackoverflow

    2020-03-24 21:42:23
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载