タグ

ブックマーク / tomapd.hatenadiary.org (1)

  • Python のメソッドをクロージャとして使う - tomapd == 22%

    Python においてメソッドはユニークな性質を持っており、bound されているか unbound か、明確な違いがある。bound / unbound とは、そのメソッドが特定のインスタンスに属しているか、いないかという言い方が出来ると思う。 class Person(object): def __init__(self, name, age): self.__name = name self.__age = age def get_name(self): return self.__name def get_age(self): return self.__age単純なクラスを定義してみた。このクラスのメソッドを調べてみると、 >>> Person.get_age <unbound method Person.get_age>こちらは unbound となっているが、 >>> p =

    Python のメソッドをクロージャとして使う - tomapd == 22%
    sirocco
    sirocco 2014/07/31
     bound method になったときは、関数にする。unbound method になったときは"self" に相当するインスタンスを与える。
  • 1