Sobes.tech
Junior — Middle

Python'da bir nesnenin iç uygulamasının gizlenmesi ve verilerin dış erişimden gizlenmesi nasıl sağlanır?

sobes.tech yapay zeka

AI'dan gelen yanıt

Python'da, nesnenin iç uygulamasını ve verilerini gizleme, konvansiyonlar ve kapsülleme mekanizmalarıyla sağlanır:

  • Bir alt çizgi (_var) — bu, öznitelik veya metodun iç kullanım için olduğunu gösterir (korumalı), ancak teknik olarak dışarıdan erişilebilir.
  • İki alt çizgi (__var)name mangling (isim karıştırma) ile sonuçlanır, bu da dışarıdan erişimi zorlaştırır, örneğin, __var _ClassName__var olur. Bu, kazara üzerine yazmayı önlemek ve verileri gizlemek için kullanılır.

Örnek:

class MyClass:
    def __init__(self):
        self.public = "herkes erişebilir"
        self._protected = "iç kullanım için"
        self.__private = "dış erişimden gizlenmiş"

obj = MyClass()
print(obj.public)          # erişilebilir
print(obj._protected)      # erişilebilir, ama önerilmez
print(obj._MyClass__private)  # isim karıştırma ile "özel" özniteliğe erişim

Bu şekilde, Python'da katı bir özel erişim yoktur, ancak verileri doğrudan erişimden gizlemek için konvansiyonlar ve mekanizmalar mevcuttur.