Python'da Veri Gizleme: Nedir, Avantajları & Dezavantajları [Kodlama Örneği ile]

Yayınlanan: 2021-02-05

İçindekiler

Veri Gizleme Nedir?

Nesne yönelimli programlamada (OOP) bilgi/verileri bir bilgisayar kodu içinde gizlemek amacıyla kullanılan bir yöntemdir. Veri üyeleri gibi dahili nesne ayrıntıları bir sınıf içinde gizlenir. Nesne bütünlüğünü korurken, sınıf üyelerine verilere sınırlı erişimi garanti eder. Veri gizleme, sınıf dışından verilere doğrudan erişimi kısıtlayarak bir sınıf içindeki verileri gizlemek için verileri ve işlevleri tek bir birimde birleştirme sürecini içerir. Veri biliminde yeni başlıyorsanız ve uzmanlık kazanmak istiyorsanız, en iyi üniversitelerden veri bilimi kurslarımıza göz atın.

Veri gizleme, bilgisayar programcılarının programdaki diğer sınıflardan gereksiz girişleri önleyerek benzersiz veri kümeleri ve işlevleri olan sınıflar oluşturmasına yardımcı olur. OOP'de bir yazılım geliştirme tekniği olarak, özel veri erişimi sağlar ve verilerde amaçlanan veya istenmeyen değişiklikleri önler. Yazılım bileşenlerindeki bu sınırlı karşılıklı bağımlılıklar, sistem karmaşıklığını azaltmaya ve programın sağlamlığını artırmaya yardımcı olur.

Veri gizleme, bilgi gizleme veya veri kapsülleme olarak da bilinir. Veri kapsülleme, uygulama uygulama ayrıntılarını kullanıcılarından gizlemek için yapılır. Her ikisinin de arkasındaki amaç aynı olduğundan, kapsülleme aynı zamanda veri gizleme olarak da bilinir. Bir veri üyesi sınıfta özel olarak belirtildiğinde, yalnızca aynı sınıf içinde erişilebilir ve o sınıf dışında erişilemez.

Python'da Veri Gizleme

Python, tüm sektörler için geçerli olması ve kolay program uygulama araçlarına ve kitaplıklarına sahip olması nedeniyle popüler bir programlama dili haline geliyor. Python belgesi, Veri Gizleme'yi, istemciyi program uygulamasının bir bölümünden izole etmek olarak tanımlar. Modüldeki bazı nesneler dahili, görünmez ve kullanıcı tarafından erişilemez durumda tutulur.

Programdaki modüller, uygulamanın nasıl kullanılacağını anlayacak kadar açıktır, ancak kullanıcılar uygulamanın nasıl çalıştığını bilemezler. Böylece veri gizleme, bağımlılıktan kaçınmanın yanı sıra güvenlik sağlar. Python'da veri gizleme, uygulamada belirli kullanıcılara erişimi engelleme yöntemidir.

Python'da veri gizleme, öznitelik adından önce (önek) çift alt çizgi kullanılarak yapılır. Bu, özniteliği özel/erişilemez yapar ve bunları kullanıcılardan gizler. Python'un gerçek anlamda hiçbir sırrı yoktur. Yine de, özel yöntemlerin ve özniteliklerin adları, dahili olarak karıştırılır ve anında çözülür, bu da verilen adlarla erişilemez hale getirir.

Python'da Veri Gizleme Örneği

#!/usr/bin/python

sınıf JustCounter :

__secretCount = 0

def sayısı ( öz ):

öz . __secretCount += 1

kendini yazdır . __secretCount

sayaç = JustCounter ()

sayaç . saymak ()

sayaç . saymak ()

baskı sayacı . __secretCount

Çıktı

1

2

Geri izleme (en son arama en son):

Dosya "test.py", satır 12, <module> içinde

print counter.__secretCount

AttributeError: JustCounter örneğinin '__secretCount' özelliği yok

Python, object._className__attrName tarafından erişilen sınıftaki üyelerin adlarını dahili olarak değiştirir.

Son satır şu şekilde değiştirilirse:

…………………….

sayacı yazdır._JustCounter__secretCount

Sonra çalışır ve çıktı:

1

2

2

Veri Gizlemenin Avantajları

  • Sınıf içindeki nesnelerin alakasız verilerle bağlantısı kesilir.
  • Gizli verilere erişemeyen bilgisayar korsanlarına karşı güvenliği artırır.
  • Programcıların yanlışlıkla yanlış verilere bağlanmasını önler. Programcı bu verileri koda bağlarsa, yalnızca hatadaki düzeltmeleri belirterek bir hata döndürür.
  • OOP'nin temel konsepti olarak nesneleri izole eder.
  • Geçici verilerin halktan gizlenerek zarar görmesinin önlenmesine yardımcı olur .

Veri Gizlemenin Dezavantajları

  • Bazen programcıyı ekstra kodlama kullanmaya zorlayabilir.
  • Görünür ve görünmez veriler arasındaki bağlantı nesnelerin daha hızlı çalışmasını sağlar, ancak veri gizleme bu bağlantıyı engeller.
  • Veri gizleme, bir programcının işini zorlaştırabilir ve gizli verilerde efektler oluşturmak için uzun kodlar yazması gerekebilir.

Bu nedenle, veri gizleme, uygulama içindeki belirli bilgilerin gizliliği ve güvenliği söz konusu olduğunda Python'da yardımcı olur. Koddaki gizli verileri bağlarken programcıların işini artırır. Ancak sunduğu avantajlar gerçekten kaçınılmazdır.

Ayrıca Okuyun: Python Mülakat Soruları ve Cevapları

Çözüm

Python çevrimiçi kursumuza ücretsiz katılmak için aşağıdaki adımları uygulamanız yeterlidir:

  • upStart sayfamıza gidin
  • “Veri Bilimi için Python” kursunu seçin
  • Kayıt Ol'a tıklayın
  • Kayıt işlemini tamamlayın

Bu kadar. Yeni başlatılan upStart programımız aracılığıyla Python'u çevrimiçi ücretsiz öğrenebilir ve veri bilimi yolculuğunuzu başlatabilirsiniz. Birkaç hafta boyunca günde yalnızca 30 dakika ayırmanız gerekir. Bu program herhangi bir parasal yatırım gerektirmez.

Bugün kaydolun ve başlayın.

Bu konuyla ilgili herhangi bir sorunuz veya öneriniz varsa, lütfen aşağıdaki yorumlarda bize bildirin. Sizden haber almak isteriz.

Veri bilimi hakkında bilgi edinmek istiyorsanız, IIIT-B & upGrad'ın çalışan profesyoneller için oluşturulmuş ve 10'dan fazla vaka çalışması ve proje, uygulamalı uygulamalı atölye çalışmaları, endüstri uzmanlarıyla mentorluk, 1 Endüstri danışmanlarıyla bire bir, en iyi firmalarla 400+ saat öğrenim ve iş yardımı.

Python'da veri gizleme nedir?

Veri gizleme, verilerin dış dünyadan erişimini kısıtlayan Nesne Yönelimli programlamanın temel kavramlarından biridir. Veri üyeleri gibi detaylar “Private” erişim belirteci yardımıyla gizli tutulur. Daha iyi anlamak için aşağıdaki örneği inceleyin.
Diyelim ki myClass adında bir sınıfımız ve __privateCounter adında özel bir üyemiz var. Bu sınıfın içinde myFunc adında __privateCounter'ın değerini 1 arttıran ve yazdıran bir fonksiyonumuz var. Sınıfın dışında, sınıfın bir nesnesini yarattık ve bu nesneyi kullanarak myFunc'u çağırdık. Şimdi, bu nesneyi kullanarak __privateCounter yazdırmaya çalışırsak, bir hata verecektir.
Yukarıdaki örnekte, "__privateCounter" varsayılan olarak "myClass" sınıfının özel bir üyesidir. Üzerinde veri gizleme işlemi gerçekleştirdiğimiz için bildirildiği sınıf dışından erişilemez. Özel üyelere erişmek için, bu durumda “myFunc” olan bir üye işlevi tanımlamamız gerekir.

Veri gizlemenin avantajları ve dezavantajları nelerdir?

Veri gizleme, OOP'lerin temel bir konsepti olmasına ve birçok avantajı olmasına rağmen, bazı dezavantajları da vardır. Python'da veri gizlemenin en önemli avantaj ve dezavantajlarından bazıları şunlardır:
Avantajlar
1. Geçici verilerin özel olarak ilan edilerek kötüye kullanılmasının ve manipüle edilmesinin önlenmesine yardımcı olur.
2. Sınıfın veri üyeleri, alakasız verilerden ayrılır.
3. OOP'nin temel konsepti olarak nesneleri izole eder.
Dezavantajları
1. Programcılar, istemcilerden gelen uçucu verileri korumak için genellikle uzun kodlar yazmak zorunda kalırlar.
2. Görünen ve görünmeyen veriler arasındaki bağlantı hızlı çalışmasını sağladığından ve veri gizleme bu bağlantıyı engellediğinden nesneler nispeten daha yavaş çalışır.

Veri gizleme, veri soyutlamadan nasıl farklıdır?

Veri gizleme, verileri dış dünya tarafından erişilemeyecek veya değiştirilemeyecek şekilde kısıtlama fikrini destekler. Örneğin bir çalışanın maaş bilgileri diğer çalışanlardan gizlenir. Python'da bu, "özel erişim değiştirici" kullanılarak elde edilir.
Veri soyutlama, dahili uygulamayı gizleme ve yalnızca özellikleri dış dünyaya gösterme fikrini ifade eder. Örneğin, bir hesap makinesinde yalnızca hesap makinesi tarafından gerçekleştirilen işlemler gösterilir. Ancak bu işlemlerin iç işleyişini göremezsiniz. Python'da bunu uygulamak için farklı erişim belirteçleri kullanılır.