前提
pythonのclassを用いた課題が与えられていて2つのclassによるコード作成に悩んでいます。
classを2つ必要とするのですが継承が使えない表記のためどのようにしてclassの中に別のclassを作用するべきか下記のソースコードを参考にお教えいただけると幸いです。
実現したいこと
Matrix(a,b,c,d).mul(Vector(x,y)).xと打ち込むと
行列
a b
c d
ベクトル
x
y
この2つの積の一行目が表記されるようにしたい。
例
Matrix(2,-2,1,3).mul(Vector(2,-3)).x
10
発生している問題・エラーメッセージ
TypeError: mul() takes 1 positional argument but 2 were given
該当のソースコード
python3
1class Matrix(): 2 def __init__(self,a,b,c,d): 3 self.a = a 4 self.b = b 5 self.c = c 6 self.d = d 7 8 def mul(self,Vector): 9 xx = self.a*Vector().x 10 yy = self.b*Vector().y 11 return Vector(xx,yy) 12 13class Vector(): 14 def __init__(self,x,y): 15 self.x = x 16 self.y = y 17
試したこと
Vector()を親クラス、Matrix()を子クラスとして試そうとしたのですがMatrix()の引数が6つ必要となり「実現したいこと」で記載したMatrix(a,b,c,d)の引数4つと異なりうまく行きませんでした。
補足情報(FW/ツールのバージョンなど)

回答1件
あなたの回答
tips
プレビュー
下記のような回答は推奨されていません。
このような回答には修正を依頼しましょう。
また依頼した内容が修正された場合は、修正依頼を取り消すようにしましょう。
2022/12/25 17:10
2022/12/26 01:24