【发布时间】:2020-08-15 13:30:34
【问题描述】:
我在 youtube 上的 OpenCV 课程上看到了这个,但我没听懂。 有人能解释一下这是什么吗?有没有更简单的方法来写这部分?
import cv2
event = [i for i in dir(cv2) if 'EVENT' in i]
【问题讨论】:
标签: python opencv for-loop cv2
我在 youtube 上的 OpenCV 课程上看到了这个,但我没听懂。 有人能解释一下这是什么吗?有没有更简单的方法来写这部分?
import cv2
event = [i for i in dir(cv2) if 'EVENT' in i]
【问题讨论】:
标签: python opencv for-loop cv2
这就是list comprehenstion。类似于
import cv2
event = []
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 3
cv2 = CV2()
print([i for i in dir(cv2) if 'EVENT' in i])
【讨论】:
for loop上的当前项目。
dir 命令是 Python (docs) 中的内置命令,用于列出对象的所有属性。
所以这个命令会循环遍历 cv2 中的所有属性并过滤名称中包含“EVENT”的属性。
为了使这更具表现力,我会列出您感兴趣的 EVENT 属性
【讨论】: