暇つぶし2chat TECH
- 暇つぶし2ch979:デフォルトの名無しさん
19/03/17 18:01:31.22 oeP02mQD.net
>>938
さらにselfというものがわかりやすいようにこのクラスを普通の関数と辞書型で再現してみる
def MyClass(name):
  self = {}
  __init__(self, name)
  return self
def __init__(self, name):
  self["name"] = name
def getname(self):
  return self["name"]

a = MyClass("John")
getname(a) // 出力 'John'
これでだいたい再現できる
何が言いたいかというとMyClass()という関数が空のインスタンス(ここでは辞書だが)を作成して__init__に引数として渡している
たぶんPythonのクラスでも暗黙的にMyClass()という関数が生成されて間接的に__init__を呼び出している
つまりself(=MyClassのインスタンス)というのは暗黙的に作られたMyClass()関数内で作られているオブジェクトだと考えればいい
Pythonほとんどやったことないから想像で適当に言ってるだけだけどな


次ページ
続きを表示
1を表示
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch