我想将另一个类的CONSTANT传递为动态变量。

class A:
    MATCH_ALL = 0
    MATCH_ANY = 1
    MATCH_NON = 3

    def setMatchType(matchType):
        assert(type in [MATCH_ALL, MATCH_ANY, MATCH_NON])
        print type


在另一个文件中

import A
class B:
    def makeAchoice():
         instanceA = A()
         instanceA.setMatchType(instanceA.MATCH_ANY)


但是,我想在makeAchoice上添加一个变量,因此setMatchType值可以是动态的。

import A
class B:
    def makeAchoice(matchType=MATCH_ANY):
         instanceA = A()
         instanceA.setMatchType(?)


如何将常量作为变量传递?以上?

我尝试
getattr(instanceA,matchType)
因此我可以先访问常量,但似乎无法正常工作。

最佳答案

您只需使用A.CONSTANT_NAME进行访问:

import A
class B:
    def makeAchoice(matchType=A.MATCH_ANY):
         instanceA = A()
         instanceA.setMatchType(A.MATCH_ANY)

关于python - python从另一个类访问常量,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19283827/

10-10 11:22