Есть ли в Python возможность вызывать метод класса из конструктора? - PullRequest
0 голосов
/ 16 декабря 2011

Есть ли в python возможность вызывать метод класса из конструктора?

У меня есть метод в классе, и я хочу вызвать его при создании нового элемента.

Возможно ли это?

  def __init__(self, val1, val2):
    if (val1 == 5) and (val2 == 2):
        function5_2(self)

  def function5_2(self):                
      (arguments)

Ответы [ 2 ]

4 голосов
/ 16 декабря 2011

Да, вы можете сделать это:

class Foo(object):

    def __init__(self, a):
        self.a = a
        self.cls_method()

    @classmethod
    def cls_method(cls):
        print 'class %s' % cls.__name__

Выход:

class Foo
2 голосов
/ 16 декабря 2011

Да, это так.Вот пример вызова метода класса из конструктора:

class C(object):

  def __init__(self):
    C.func()

  @classmethod
  def func(cls):
    print 'func() called'

C()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...