Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/314.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
什么是;getattr(自我,某物)是真的;用Python是什么意思?_Python - Fatal编程技术网

什么是;getattr(自我,某物)是真的;用Python是什么意思?

什么是;getattr(自我,某物)是真的;用Python是什么意思?,python,Python,我是Python新手。在这种情况下,我无法理解“是真的”是什么意思: class Answers(): def get_reference(self): return None def is_private(self): return getattr(self, 'private', False) is True 我知道getattr()将返回“private”的值,或者将返回False作为默认值。那么“是真的”是什么意思呢 它检查getatt

我是Python新手。在这种情况下,我无法理解“是真的”是什么意思:

class Answers():
    def get_reference(self):
        return None

    def is_private(self):
        return getattr(self, 'private', False) is True

我知道getattr()将返回“private”的值,或者将返回False作为默认值。那么“是真的”是什么意思呢

它检查getattr调用是否返回True。

这意味着
private
的值是
True
。正如语法所说的那样。这不是重复。这意味着编写代码的人并不完全知道他们在做什么。你应该在
\uuuu init\uuuuu
-方法中创建属性
private
,而不要依赖某些getattr-magic。更准确地说,它检查getattr调用是否返回准确的
True
,而不是其他一些trueish值。不过我不明白你为什么要那样做。将trueish值转换为true,将falsish值转换为false通常比较干净,这可以通过
bool()
实现。