同じclass内にあるメソッドを呼び出してみる

11月 4th, 2016

クラス内にある関数から同じクラスにある別の関数・・・じゃなかったメソッドを呼び出すのってどうするんだろう、ということで、やってみた。

class Test:
	def moto(self):
		self.x=10
		self.y=20
		kekka=self.culc()
		print (kekka)
	def calc(self):
		self.r=self.x+self.y
		return self.r
a=Test()
a.moto()
result=a.calc()
print(result)

がたがたやった結果、上記なら動いた。

上記で何をしているかというと(・・・と解説するほどでもないが)

Testクラス内
moto:数値を設定。その後culcを呼び出し、結果を「kekka」に入力。そして結果をprint。
calc:motoの数値を足し算して結果を返す。

Testクラスの後は、a=Test()でインスタンス化、後はTest内のメソッドをそれぞれ呼び出し&出力。

メソッドのmoto内はkekkaにわざわざ代入しなくてもprint(self.calc())で行けるが、まあ、ちょっとむにゃむにゃむにゃ。

ちなみに、self.xやself.yを単にx、yにした時は駄目だった。まあ、初めから上手く行く気はしなかったけど。

仕様書を読んでぱぱっと理解できる頭があれば、いちいち実験しなくてもいいんだけどなぁ。まー、元々プログラミングの才能があるわけでもないから仕方がない(嘆息)。

関連記事

  1. 他のクラスからインスタンス変数って使えるんだね
  2. ファイルの読み込みをちょこっと実験
  3. pygameでmp3を再生
  4. 再生チェックをしても止まらなかった原因が分かった
  5. pythonで音を鳴らす
  6. リスト全ての要素の改行(’\n’)を削る
  7. classの中身は即実行されるらしい
  8. オブジェクト指向と大格闘2(無理矢理使ってみる)

Comments are closed.