常量如何在if块中工作?

时间:2016-10-06 05:48:43

标签: python

我是python的新手。我想学习如何制作和使用"常数"。这是我的代码:

class Constantine(object):
    ONE = 1
    TWO = 2

    def test(self, code):
        if code not in(self.ONE, self.TWO):
            print("safe")
        else:
            print("not safe")

keeanu = Constantine()
keeanu.test(1)

我希望代码打印安全。但是,它打印不安全。为什么?

1 个答案:

答案 0 :(得分:3)

您正在code中测试(self.ONE, self.TWO) 不是 。如果找到 ,则会打印not safe,这样做。

找到它的原因是因为解释器首先查找self.ONEself.TWO作为实例变量。如果在该级别找不到它们,则解释器将尝试将它们解析为类变量。这对你的代码来说很成功。