如何使一類以下列方式返回一個對象:如何在類被初始化後引用類時返回對象?
import numpy as np
a = np.array([(1,2),(3,4)])
每當a
被引用,它返回
array([[1, 2],
[3, 4]])
然而,當我創建一個簡單的類:
class Example:
def __init__(self, data):
self.nparray = np.array(data)
並運行b = Example([(1,2),(3,4)])
然後參考b
我得到:<__main__.Example at 0x7f17381099e8>
。要返回我需要運行的值b.nparray
。
如何使課堂Example
回報
array([[1, 2],
[3, 4]])
時b
被引用?
我嘗試使用方法,如__new__
,__repr__
和__getitem__
但是沒有產生所需的行爲。
_「每當'a'被調用時,它會返回...」_咦?它不會在我的機器上返回。當我執行你的第一個代碼塊然後執行'a()'時,我得到'TypeError:'numpy.ndarray'對象不可調用'。 – Kevin
這不是什麼類,或什麼「呼叫」的意思。 – user2357112
我不明白爲什麼人們都在低調投票 - OP對術語感到困惑。 **調用**意味着這個:'a()',但是當你說你「調用」'a'時,你的意思是你只是引用'a'。 –