【问题标题】:Python enum set as parameter in a functionPython枚举设置为函数中的参数
【发布时间】:2020-03-27 12:26:28
【问题描述】:

我正在查看具有以下函数示例的 python API:

bpy.ops.object.bake(type='COMBINED', pass_filter={"DIFFUSE", "DIRECT"})

pass_filter 参数接受以下任何一项或多项:

pass_filter (enum set in {
        'NONE', 'AO', 'EMIT',
        'DIRECT', 'INDIRECT',
        'COLOR', 'DIFFUSE', 'GLOSSY',
        'TRANSMISSION', 'SUBSURFACE',
        })

另一方面,我有以下内容来确定是否应将参数添加到pass_filter

is_NONE = False
is_AO = True
is_EMIT = False
is_DIRECT = True
#..etc.

如何将这些插入到函数中,例如将列表或数组插入到参数中?

【问题讨论】:

    标签: python-3.x list enums set


    【解决方案1】:

    关键是要知道{"DIFFUSE", "DIRECT"} 代表一个集合:

    #!/usr/bin/python3
    is_NONE = False
    is_AO = True
    is_EMIT = False
    is_DIRECT = True
    pass_filter = set()
    if is_AO:
        pass_filter.add('AO')  
    if is_DIRECT:
        pass_filter.add('DIRECT')  
    print(pass_filter)
    

    here

    随意添加额外的 if 语句!

    【讨论】:

      猜你喜欢
      • 2011-05-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-11-14
      • 1970-01-01
      相关资源
      最近更新 更多