python从另一个类访问CONSTANT

时间:2013-10-09 22:19:17

标签: python

我想从另一个类传递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) 所以我可以先访问常量,但似乎无效。

1 个答案:

答案 0 :(得分:2)

您只需使用A.CONSTANT_NAME

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