使用返回Python数组的函数初始化类

使用返回Python数组的函数初始化类,python,Python,假设func()(无参数)返回一个列表。在下面的代码中,我希望self.myfunction指向函数,而不是返回的列表。我该怎么做 class myArrayThread(threading.Thread): def __init__(self,ThreadName, func): self.ThreadName = ThreadName self.myfunction = func # ......... more stuff after

假设func()(无参数)返回一个列表。在下面的代码中,我希望self.myfunction指向函数,而不是返回的列表。我该怎么做

class myArrayThread(threading.Thread):
    def __init__(self,ThreadName, func):
        self.ThreadName = ThreadName
        self.myfunction = func
       # ......... more stuff after this

出于格式化目的,将其作为答案而不是注释发布

您的代码已经完全符合您的要求:

>>> def a():
...  return [1]
... 
>>> b=a
>>> b
<function a at 0x7f4b6aeb96a8>
>>> b()
[1]
>>> a
<function a at 0x7f4b6aeb96a8>
>>定义a():
...  返回[1]
... 
>>>b=a
>>>b
>>>b()
[1]
>>>a

b
指向“函数
a
”。您必须调用它才能获得
a
(或
b
,这只是同一事物的另一个名称,请参见最后一行)

出于格式化目的,将其作为答案而不是注释发布

您的代码已经完全符合您的要求:

>>> def a():
...  return [1]
... 
>>> b=a
>>> b
<function a at 0x7f4b6aeb96a8>
>>> b()
[1]
>>> a
<function a at 0x7f4b6aeb96a8>
>>定义a():
...  返回[1]
... 
>>>b=a
>>>b
>>>b()
[1]
>>>a

b
指向“函数
a
”。您必须调用它来获取
a
(或
b
,这只是同一事物的另一个名称,请参见最后一行)

它已经完成了您想要的操作

您可能会这样称呼它:

myArrayThread("some_name", func())
但它应该被称为

myArrayThread("some_name", func)

它已经做了你想要的

您可能会这样称呼它:

myArrayThread("some_name", func())
但它应该被称为

myArrayThread("some_name", func)

正如贾斯珀所说:正如贾斯珀所说:这正是我问题的根源,非常感谢。这正是我问题的根源,非常感谢。