他のプロパティ名の値を使用して列挙型の作成

jacobcan118:

どのように私は、そのプロパティは、他のメンバーからの値を使用することを列挙クラスを作成することができますか?私の次のコードのように

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'
'''
クリス・ドイル:

いけないだけでローカル変数のようにそれらを使用して、列挙型として内部で変数を参照してみてください。

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'>

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=27936&siteId=1