我正在使用fits文件,我使用fits.open()從astropy庫中讀取。我得到一個hdu(頭部數據單元),它是astropy.io.fits.hdu.image.PrimaryHDU的一個實例。初始化具有母類屬性的實例
現在,對於一個特定的項目,我想通過編寫特定的方法來處理這個hdu中的數據。我認爲這樣做的好方法是編寫我自己的類,它將成爲PrimaryHDU的一個子類。我的新對象將擁有PrimaryHDU實例的所有屬性和方法,以及我將編寫的屬性和方法。但我無法讓它正常工作。我的新對象如何獲取父對象的所有屬性和方法?我是來最接近的是下面這段代碼(有,例如,一個新的方法調用「減」):
from astropy.io.fits.hdu.image import PrimaryHDU
class MyHDU(PrimaryHDU):
def __init__(self, hdu):
PrimaryHDU.__init__(self, data=hdu.data, header=hdu.header)
def subtract(self, val):
self.data = self.data - val
這是一種好,但我可以看到我的新對象沒有按沒有將所有的屬性設置爲與原始對象(hdu)相同的值......這看起來很正常,當我實際上查看我的代碼時......但是如何初始化我的新對象,其中包含父對象?我是否正確地讓我的新類繼承自PrimaryHDU類? 謝謝
你使用Python 2或3? – DeepSpace