SORU
9 Mart 2009, PAZARTESİ


Python ____ ve self ınit ne yapıyorlar?

Python programlama dili öğreniyorum ve tam olarak anlamadığım bazı şeyler karşılaşmadım. C bir aileden geliyorum, ama hiç bu kadar da gitti.

Anlamaya çalıştığım şey şu:

Bir yöntem:

def method(self, blah):
    def __init__(?):
        ....
    ....

Kendi kendine ne yapar? olmanın ne demek olduğunu? ve bu zorunlu mu?

__init__ yöntemi nedir? neden gereklidir? vb

Oop yapıları olabilirler, ama çok.. bilmiyorum

CEVAP
9 Mart 2009, PAZARTESİ


Bu kod:

class A(object):
    def __init__(self):
        self.x = 'Hello'

    def method_a(self, foo):
        print self.x   ' '   foo

... self değişken nesnenin kendisi örneğini temsil eder. Çoğu nesne yönelimli diller yöntem bir nesne üzerinde tanımlanan gizli bir parametre olarak iletin; Python değil. Açıkça beyan etmek zorundasınız. A sınıfının bir örneğini oluşturun ve yöntemlerini çağırdığınızda, otomatik olarak gönderilir ...

a = A()               # We do not pass any argument to the __init__ method
a.method_a('Sailor!') # We only pass a single argument

__init__ yöntemi Python ile bir kurucu temsil budur kabaca. A() aramak için bir Python nesne oluşturur ve __init__ yöntemine ilk parametre olarak geçirir. Herhangi bir ek parametreleri (örneğin, A(24, 'Hello')) da yapıcı onları bekliyor olmadığından bu durum oluşturuldu bir özel durum neden bağımsız değişkenler olarak geçti.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Amazon Web Services

    Amazon Web S

    8 NİSAN 2009
  • Murray Winiata

    Murray Winia

    2 ŞUBAT 2009
  • Phandroid

    Phandroid

    26 Ocak 2009