使用返回Python数组的函数初始化类
假设func()(无参数)返回一个列表。在下面的代码中,我希望self.myfunction指向函数,而不是返回的列表。我该怎么做使用返回Python数组的函数初始化类,python,Python,假设func()(无参数)返回一个列表。在下面的代码中,我希望self.myfunction指向函数,而不是返回的列表。我该怎么做 class myArrayThread(threading.Thread): def __init__(self,ThreadName, func): self.ThreadName = ThreadName self.myfunction = func # ......... more stuff after
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)
正如贾斯珀所说:正如贾斯珀所说:这正是我问题的根源,非常感谢。这正是我问题的根源,非常感谢。