SORU
24 Ocak 2009, CUMARTESİ


- Neden "öz" bir sınıfta Python?

Nasıl bu 2 sınıf farklı mıdır?

class A():
    x=3

class B():
    def __init__(self):
        self.x=3

Herhangi bir fark var mı?

CEVAP
24 Ocak 2009, CUMARTESİ


A.xsınıf değişkeni. **4'self.x sörnek değişken.

6*yani *'x s örnekleri arasında paylaşılır.

Bir liste gibi değiştirilebilir bir şey ile farkı göstermek için daha kolay olurdu:

#!/usr/bin/env python

class A:
    x = []

    def add(self):
        self.x.append(1)


class B:
    def __init__(self):
        self.x = []

    def add(self):
        self.x.append(1)


x = A()
y = A()
x.add()
y.add()
print "A's x:",x.x

x = B()
y = B()
x.add()
y.add()
print "B's x:",x.x

Çıktı

A x: [1, 1]< / ^ br . B x: [1]

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • K-391

    K-391

    23 EKİM 2012
  • Smith Micro Graphics

    Smith Micro

    15 Mayıs 2008
  • UnboxTechnology

    UnboxTechnol

    20 Ocak 2011