私はastropyライブラリからfits.open()で読み込んだフィットファイルを扱っています。私はastropy.io.fits.hdu.image.PrimaryHDUのインスタンスであるhdu(ヘッダデータユニット)を取得します。母クラス属性でインスタンスを初期化する
特定のプロジェクトでは、この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
それは一種のokですが、私はその私の新しいオブジェクトdoesnのを見ることができます実際のコードを見ると、元のオブジェクト(hdu)と同じ値に設定されたすべての属性を持っています...実際には私のコードを見ると普通のようですが、どうすれば新しいオブジェクトをすべての属性で初期化できますか?親オブジェクト?私は新しいクラスをPrimaryHDUクラスから継承するように修正しますか? ありがとう
あなたは、Python 2または3を使用していますか? – DeepSpace