Jaki jest kod zapisujący różnice w klasie iw def __init __ (self) w Pythonie? [duplikować]

Możliwy duplikat:
Zmienne wewnątrz i na zewnątrz funkcji klasy __init __ ()

Rozumiem, że gdy klasa zostanie wywołana, uruchomi kod w__init__ przed wszystkim. Nadal nie widzę różnicy między tym a pisaniem kodu bezpośrednio w klasie.

Na przykład:

class main():
  x = 1

  def disp(self):
    print self.x
class main():
  def __init__(self):
    self.x = 1

  def disp(self):
    print self.x

Dla mnie obie mają tę samą funkcjonalność. (Może czegoś mi brakuje.) Chciałbym wiedzieć, co jest bardziej (ahem) pytoniczne i dlaczego.

questionAnswers(5)

yourAnswerToTheQuestion