Python 运算符重载之 __init__、__new__、_

2018-12-26  本文已影响0人  Yankee_13

献给莹莹

1. __init__ 方法

2. __new__ 方法

class A:
   def __init__(self):
       print("__init__ ")
       print(self)
       super(A, self).__init__()

   def __new__(cls):
       print("__new__ ")
       self = super(A, cls).__new__(cls)
       print(self)
       return self
A()

3. __call__ 方法

class DistanceForm(object):
    def __init__(self, origin):
        self.origin = origin
        print "origin :"+str(origin)

    def __call__(self, x):
        print "x :"+str(x)

p = DistanceForm(100)
p(2000)

输出为:

origin :100
x :2000
上一篇 下一篇

猜你喜欢

热点阅读