有人可以在Python中解释_的函数吗?我在下面的代码中找到了这个。什么_,在Python中做什么
@property
def frame(self):
if self._enteredFrame and self._frame is None:
_, self._frame = self._capture.retrieve (channel = self.channel)
return self._frame
我从来没有见过这个。
有人可以在Python中解释_的函数吗?我在下面的代码中找到了这个。什么_,在Python中做什么
@property
def frame(self):
if self._enteredFrame and self._frame is None:
_, self._frame = self._capture.retrieve (channel = self.channel)
return self._frame
我从来没有见过这个。
_
只是一个像其他任何变量一样的变量,然而对于名为_
的变量有一些(矛盾的)约定。您在这里看到的是您需要将结果赋值为以后未使用的值:retrieve
方法返回两个值,程序员只对第二个值感兴趣。
_
还用于交互式shell中存储最后一个表达式的结果。
_
也在某些代码中用作将翻译字符串的函数的名称,所以_("some string")
将在语言特定的表中查找字符串,并在没有可用翻译的情况下返回适当的翻译或原始字符串。
_
是一个变量名。
self._capture.retrieve
返回与2-元件seqeunce,和下面的语句的第一个元素分配给_
,以及self._frame
第二元件。 (tuple unpacking)
_, self._frame = self._capture.retrieve(channel=self.channel)
通常,_
用于忽略该值。
我明白_,是不是一件事,但_和,所以也许写得更好_; self._frame = .... –
@mharms,如果你用';'替换''',它变成了不同的东西。想想这个:'a,b = 1,2'和'a; b = 1,2'。如果之前未分配“a”,则第二个将导致错误;和'b'的值会有所不同。 – falsetru
对不起,是一个typeerror,我的意思是在下划线和冒号(,)之间的空格。 _,self._frame = ....现在对我来说很清楚,谢谢! –
这是一个变量。 –
它是一个自动分配由shell执行的每个表达式的结果的变量。 –
看到这篇文章:http://stackoverflow.com/questions/5893163/underscore-in-python –