首页 > 代码库 > 20161217py学习笔记:魔法方法/

20161217py学习笔记:魔法方法/

1、魔法方法也是method,也是定义class中用到函数,只不过这些函数的名字,前后都是双下划线。

  初始化:__init__

  class FooBar:

    def __init__(self,value=http://www.mamicode.com/42):

      self.somevar=value

  原来想用‘somevar’,大概得这么写:

    >>>f=FooBar()

    >>>f.__init__

    #如果__init__下还有几个self.some*,这么一写得全引用出来,但是我们想用的只是somevar,所以用__init__可以写成如下形式:

    >>>f=FooBar()

    >>>f.somevar #定义在初始化中,直接就拿来用

    >>>42

    #加个参数也可以:

    >>>f=FooBar(‘this is a constructor argument‘)

    >>>f.somevar

    >>>this is aconstructor argument

20161217py学习笔记:魔法方法/