为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

qq_花开花谢_0 2023-05-23 14:27:48
我在 youtube 上的 OpenCV 课程上看到了这个,但我没听懂。有人可以解释这是什么吗?有没有更简单的方法来编写这部分?import cv2 event = [i for i in dir(cv2) if 'EVENT' in i]
查看完整描述

2 回答

?
达令说

TA贡献1821条经验 获得超6个赞

这就是所谓的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])


查看完整回答
反对 回复 2023-05-23
?
守着星空守着你

TA贡献1799条经验 获得超8个赞

该命令是 Python ( dir )中的内置命令,用于列出对象上的所有属性。

因此,此命令循环遍历 cv2 中的所有属性并过滤名称中包含“EVENT”的属性。

为了使其更具表现力,我将列出您感兴趣的 EVENT 属性


查看完整回答
反对 回复 2023-05-23
  • 2 回答
  • 0 关注
  • 134 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信