还有另一种方法来编写这段代码吗?这似乎很难理解
is there another way to write this code?this seems pretty hard to understand
我在 youtube 上的 OpenCV 课程中看到了这个,但没听懂。
有人可以解释这是什么吗?有没有更简单的方法来编写这部分?
import cv2
event = [i for i in dir(cv2) if 'EVENT' in i]
那叫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])
dir
命令是Python(docs)中的built-in命令,用于列出对象上的所有属性。
因此此命令循环遍历 cv2 中的所有属性并过滤名称中包含 'EVENT' 的属性。
为了使其更具表现力,我将列出您感兴趣的 EVENT 属性
我在 youtube 上的 OpenCV 课程中看到了这个,但没听懂。 有人可以解释这是什么吗?有没有更简单的方法来编写这部分?
import cv2
event = [i for i in dir(cv2) if 'EVENT' in i]
那叫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])
dir
命令是Python(docs)中的built-in命令,用于列出对象上的所有属性。
因此此命令循环遍历 cv2 中的所有属性并过滤名称中包含 'EVENT' 的属性。
为了使其更具表现力,我将列出您感兴趣的 EVENT 属性