2

我想将另一个类的 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) 所以我可以先访问常量,但它似乎不起作用。

4

1 回答 1

2

You just access it with A.CONSTANT_NAME:

import A
class B:
    def makeAchoice(matchType=A.MATCH_ANY):
         instanceA = A()
         instanceA.setMatchType(A.MATCH_ANY) 
于 2013-10-09T22:22:11.593 回答