SORU
16 EYLÜL 2008, Salı


Python statik sınıf değişkenleri

Python statik sınıf değişkenleri veya yöntem olması mümkün mü? Ne sözdizimi bunu yapmak için gereklidir?

CEVAP
16 EYLÜL 2008, Salı


Değişkenler sınıf tanımı içinde ilan etti, ama içinde bir yöntemi vardır sınıf veya statik değişkenler:

>>> class MyClass:
...     i = 3
...
>>> MyClass.i
3 

@millerdev belirttiği gibi, bu sınıf düzeyinde "ben" değişken, ama bu farklı gelen herhangi bir örnek düzeyi "var diye" değişken . bir oluşturur

>>> m = MyClass()
>>> m.i = 4
>>> MyClass.i, m.i
>>> (3, 4)

Statik bir üye erişilen bir örneği için bir başvuru kullanarak olamaz. bu C ve Java farklıdır, ama C den çok farklı değil#,

what the Python tutorial has to say on the subject of classes and class objects bkz.

@Steve Johnson zaten static methods de "Built-in Functions" in the Python Library Reference altında belgelenen hakkında bilgilendirdi.

class C:
    @staticmethod
    def f(arg1, arg2, ...): ...

@beidy önerir classmethodyöntemi sonra ilk argüman olarak bir sınıf türü alır, ama hala staticmethod bu yaklaşımın avantajları hakkında biraz kafam karışık gibi staticmethod,. Eğer çok varsa, o zaman muhtemelen fark etmez.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Maya Learning Channel

    Maya Learnin

    23 HAZİRAN 2010
  • Menglong Tav

    Menglong Tav

    18 Temmuz 2010
  • Sergio Lafuente Rubio

    Sergio Lafue

    11 Aralık 2008