Veri erişimini yönetme: özel nitelikler

Python'da Nesne Yönelimli Programlama

Alex Yarosh

Content Quality Analyst @ DataCamp

Tüm sınıf verileri herkese açık

hepimiz burada yetişkiniz

Python'da Nesne Yönelimli Programlama

Erişimi kısıtlama

  • Adlandırma kuralları
  • Erişimi özelleştirmek için @property kullanın
  • __getattr__() ve __setattr__() geçersiz kılma
Python'da Nesne Yönelimli Programlama

Adlandırma kuralı: dahili nitelikler

obj._att_name, obj._method_name()

  • Tek _ ile başlar → "dahili"
  • Genel API'nin bir parçası değil
  • Sınıf kullanıcısı olarak: "buna dokunma"
  • Sınıf geliştiricisi olarak: uygulama detayları, yardımcı fonksiyonlar için kullanın..

df._is_mixed_type , datetime._ymd2ord()

Python'da Nesne Yönelimli Programlama

Adlandırma kuralı: sözde özel nitelikler

obj.__attr_name , obj.__method_name()

  • __ ile başlar ama bitmez → "özel"
  • Miras alınmaz
  • İsim karıştırma: obj.__attr_name, obj._MyClass__attr_name olarak yorumlanır
  • Miras alınan sınıflarda isim çakışmalarını önlemek için kullanılır

 

Önde ve sonda __ yalnızca yerleşik Python yöntemleri için kullanılır (__init__(),__repr__())!

Python'da Nesne Yönelimli Programlama

Hadi pratik yapalım!

Python'da Nesne Yönelimli Programlama

Preparing Video For Download...