【问题标题】:How my function can take all arguments of another fucntion? [duplicate]我的函数如何获取另一个函数的所有参数? [复制]
【发布时间】:2022-01-10 05:14:35
【问题描述】:

我想创建一个处理 OpenCV 图像的类。

为此,我正在考虑将图像传递给班级。

img = cv2.imread(path, cv2.IMREAD_GRAYSCALE)

class myClass():
   def __init__(self, frame):
      self.frame = frame

inst = myClass(img) 

但我只想向我的班级传递图像的路径。我怎样才能让我的班级能够接受 cv2.imread 接受的所有参数?

类似

inst = myClass(path, cv2.IMREAD_GRAYSCALE)

【问题讨论】:

  • 当然...只需接受参数,然后在__init__ 中创建img。你有错误吗?

标签: python python-3.x oop


【解决方案1】:

您是否正在寻找类似的东西:

class MyClass:
    def __init__(self, path, flags):
        self.frame = cv2.imread(path, flags)

inst = MyClass(path, cv2.IMREAD_GRAYSCALE)

回答以下问题:

请注意,cv2.imread() 的文档说它正好需要两个参数,所以这正是我提供的。对于更一般的情况:

class MyClass:
    def __init__(self, *args, **kwargs):
        self.frame = some_builder(*args, **kwargs)

将导致some_builder 被调用时使用__init__ 方法被调用的参数(非关键字和关键字)。

【讨论】:

  • 您好,谢谢您的回答!如果有多个标志怎么办?
  • 添加了更多信息。
猜你喜欢
  • 2018-04-12
  • 1970-01-01
  • 2018-09-18
  • 1970-01-01
  • 2012-04-18
  • 2019-03-05
  • 2011-03-09
  • 2020-10-21
相关资源
最近更新 更多