猿问

还有另一种方法来编写这段代码吗?这似乎很难理解

我在 youtube 上的 OpenCV 课程上看到了这个,但我没听懂。有人可以解释这是什么吗?有没有更简单的方法来编写这部分?

import cv2
event = [i for i in dir(cv2) if 'EVENT' in i]


qq_花开花谢_0
浏览 135回答 2
2回答

达令说

这就是所谓的list comprehenstion。它类似于import cv2event = []for i in dir(cv2):    if 'EVENT' in i:        event.append(i)用于dir从 获取所有有效属性cv2,然后如果当前属性 ( i) 的名称上有一个EVENT,则该属性将存储在 上event。下面的代码将打印['EVENT_1', 'EVENT_3'].class CV2:  EVENT_1 = 1  two = 2  def EVENT_3():    return 3cv2 = CV2()print([i for i in dir(cv2) if 'EVENT' in i])

守着星空守着你

该命令是 Python ( dir )中的内置命令,用于列出对象上的所有属性。因此,此命令循环遍历 cv2 中的所有属性并过滤名称中包含“EVENT”的属性。为了使其更具表现力,我将列出您感兴趣的 EVENT 属性
随时随地看视频慕课网APP

相关分类

Python
我要回答