Python クラス __call__とは

AI・データサイエンス、
機械学習の実践力を高めたい方へ

  • プログラミングを0から学びたい
  • データサイエンティスト、データ
    アナリストを目指したい
  • AIエンジニア、大規模言語モデル(LLM)エンジニアを目指したい

AI人材コースを無料体験してみませんか?

  • 無料で120以上の教材を学び放題!
  • Pythonやデータ分析、機械学習など
    AI人材に必須のスキルを無料体験できる!
  • データ分析、AI開発の一連の流れを体験、実務につながる基礎スキルを習得!

1分で簡単!無料!

無料体験して特典を受け取る

callとは何なのか

Pythonでクラスを扱う際に__call__を利用することがあります。__call__はインスタンス化したオブジェクトを関数のように呼び出すことで呼びだされる特殊なメソッドです。

例えば次のようなコードを読んでみましょう。

class Test():
	
	def __init__(self, test):
		self.test = test 

	def __call__(self):
		print("called!!")

t = Test('test')
t()

上のコードにて、tと言うオブジェクトを定義しています。この時に、インスタンス生成時には__init__が呼び出されますが、その後のt()と言う記述にて、6行目の__call__が呼び出されています。また__call__にはreturnを記載することが出来るため次のようなプログラムも記述できます。(コードには特に意味はありませんが、__call__の動作を理解する上で、__call__にて10を返すだけのプログラムになります。)

class Test():

	def __init__(self, test):
		self.test = test 

	def __call__(self):
		# print("called!!")
		return 10

t = Test('test')
value = t()
print(value)

上記のコードを実行すると、変数valueに10が代入されます。

Pythonを効率よく学ぶには?

Pythonを効率よく学ぶには、普段からPythonを利用している現役のデータサイエンティストや機械学習エンジニアに質問できる環境で学ぶことです。
質問し放題かつ、体系的に学べる動画コンテンツでデータ分析技術を学びたい方は、オンラインで好きな時間に勉強できるAI Academy Bootcampがオススメです。受講料も業界最安値の35,000円(6ヶ月間質問し放題+オリジナルの動画コンテンツ、テキストコンテンツの利用可能)なので、是非ご活用ください。



  • 30時間以上の動画講座が見放題!
  • 追加購入不要!
    これだけで学習できるカリキュラム
  • (質問制度や添削プラン等)
    充実したサポート体制!

1分で簡単!無料!

AI人材コースを見る



無料体験して特典を受け取る