إخفاء البيانات في لغة بايثون: ما المقصود بالمزايا والعيوب [مع مثال على الترميز]

نشرت: 2021-02-05

جدول المحتويات

ما هو إخفاء البيانات؟

إنها طريقة مستخدمة في البرمجة الشيئية (OOP) للاختباء بقصد إخفاء المعلومات / البيانات داخل رمز الكمبيوتر. تفاصيل الكائن الداخلية ، مثل أعضاء البيانات ، مخفية داخل فئة. يضمن الوصول المقيد إلى البيانات لأعضاء الفصل مع الحفاظ على تكامل الكائن. يتضمن إخفاء البيانات عملية دمج البيانات والوظائف في وحدة واحدة لإخفاء البيانات داخل الفصل عن طريق تقييد الوصول المباشر إلى البيانات من خارج الفصل. إذا كنت مبتدئًا في علوم البيانات وترغب في اكتساب الخبرة ، فراجع دورات علوم البيانات لدينا من أفضل الجامعات.

يساعد إخفاء البيانات مبرمجي الكمبيوتر على إنشاء فئات بمجموعات ووظائف بيانات فريدة من خلال تجنب الدخول غير الضروري من الفئات الأخرى في البرنامج. نظرًا لكونه أسلوبًا لتطوير البرامج في OOP ، فإنه يضمن الوصول الحصري إلى البيانات ويمنع التغييرات المقصودة أو غير المقصودة في البيانات. تساعد هذه الترابطات المحدودة في مكونات البرامج على تقليل تعقيد النظام وزيادة قوة البرنامج.

يُعرف إخفاء البيانات أيضًا بإخفاء المعلومات أو تغليف البيانات. يتم إجراء تغليف البيانات لإخفاء تفاصيل تنفيذ التطبيق عن مستخدميها. نظرًا لأن النية من وراء كليهما هي نفسها ، يُعرف التغليف أيضًا بإخفاء البيانات. عندما يتم ذكر أحد أعضاء البيانات على أنه خاص في الفصل ، فلا يمكن الوصول إليه إلا داخل نفس الفصل ولا يمكن الوصول إليه خارج هذا الفصل.

إخفاء البيانات في بايثون

أصبحت Python لغة برمجة شائعة لأنها تنطبق على جميع القطاعات ولديها أدوات ومكتبات سهلة لتنفيذ البرامج. يعرّف مستند Python إخفاء البيانات بأنه عزل العميل عن جزء من تنفيذ البرنامج. يتم الاحتفاظ ببعض الكائنات في الوحدة النمطية داخلية وغير مرئية ولا يمكن للمستخدم الوصول إليها.

الوحدات في البرنامج مفتوحة بما يكفي لفهم كيفية استخدام التطبيق ، ولكن لا يمكن للمستخدمين معرفة كيفية عمل التطبيق. وبالتالي ، يوفر إخفاء البيانات الأمان ، إلى جانب تجنب التبعية. إخفاء البيانات في Python هو طريقة لمنع الوصول إلى مستخدمين محددين في التطبيق.

يتم إخفاء البيانات في Python باستخدام شرطة سفلية مزدوجة قبل (بادئة) اسم السمة. هذا يجعل السمة خاصة / لا يمكن الوصول إليها ويخفيها عن المستخدمين. ليس لدى بايثون أي سر بالمعنى الحقيقي للكلمة. ومع ذلك ، فإن أسماء الأساليب والسمات الخاصة مشوهة داخليًا وغير مشوهة أثناء الطيران ، مما يجعل الوصول إليها غير متاح بأسمائها المعطاة.

مثال لإخفاء البيانات في بايثون

#! / usr / bin / python

فئة JustCounter :

__secretCount = 0

عدد def ( ذاتي ):

النفس . __secretCount + = 1

طباعة النفس . __secretCount

العداد = JustCounter ()

العداد . عدد ()

العداد . عدد ()

عداد الطباعة . __secretCount

انتاج |

1

2

Traceback (آخر مكالمة أخيرة):

ملف “test.py” ، السطر 12 ، في <module>

عداد الطباعة. _ secretCount

AttributeError: مثيل JustCounter ليس له سمة '__secretCount'

تقوم Python داخليًا بتغيير أسماء الأعضاء في الفصل الذي يتم الوصول إليه بواسطة الكائن.

إذا تم تغيير السطر الأخير على النحو التالي:

……………………….

عداد الطباعة

ثم يعمل ، والنتيجة هي:

1

2

2

مزايا إخفاء البيانات

  • يتم فصل الكائنات داخل الفصل عن البيانات غير ذات الصلة.
  • يزيد من الحماية ضد المتسللين غير القادرين على الوصول إلى البيانات السرية.
  • يمنع المبرمجين من الربط العرضي بالبيانات غير الصحيحة. إذا قام المبرمج بربط هذه البيانات في الكود ، فسوف يقوم بإرجاع خطأ فقط من خلال الإشارة إلى التصحيحات في الخطأ.
  • إنه يعزل الأشياء كمفهوم أساسي لـ OOP.
  • يساعد على منع تلف البيانات المتقلبة عن طريق إخفائها عن الجمهور .

عيوب إخفاء البيانات

  • قد يجبر المبرمج أحيانًا على استخدام ترميز إضافي.
  • الارتباط بين البيانات المرئية وغير المرئية يجعل الكائنات تعمل بشكل أسرع ، لكن إخفاء البيانات يمنع هذا الارتباط.
  • يمكن لإخفاء البيانات أن يجعل الأمر أكثر صعوبة بالنسبة للمبرمج ويحتاج إلى كتابة رموز طويلة لإنشاء تأثيرات في البيانات المخفية.

وبالتالي ، فإن إخفاء البيانات مفيد في Python عندما يتعلق الأمر بالخصوصية والأمان لمعلومات محددة داخل التطبيق. يزيد من عمل المبرمجين أثناء ربط البيانات المخفية في الكود. لكن المزايا التي يقدمها لا مفر منها حقًا.

اقرأ أيضًا: أسئلة وأجوبة مقابلة Python

خاتمة

للانضمام إلى دورة Python عبر الإنترنت مجانًا ، ما عليك سوى اتباع الخطوات التالية:

  • توجه إلى صفحتنا upStart
  • حدد دورة "بايثون لعلوم البيانات"
  • انقر فوق تسجيل
  • أكمل عملية التسجيل

هذا هو. يمكنك تعلم لغة Python عبر الإنترنت مجانًا من خلال برنامج upStart الذي تم إطلاقه حديثًا وابدأ رحلة علم البيانات الخاصة بك. سيكون عليك فقط أن تستثمر 30 دقيقة في اليوم لبضعة أسابيع. لا يتطلب هذا البرنامج أي استثمار نقدي.

سجل اليوم وابدأ.

إذا كانت لديك أي أسئلة أو اقتراحات بخصوص هذا الموضوع ، فيرجى إخبارنا بذلك في التعليقات أدناه. نحب أن نسمع منك.

إذا كنت مهتمًا بالتعرف على علوم البيانات ، فراجع برنامج IIIT-B & upGrad التنفيذي PG في علوم البيانات الذي تم إنشاؤه للمهنيين العاملين ويقدم أكثر من 10 دراسات حالة ومشاريع ، وورش عمل عملية عملية ، وإرشاد مع خبراء الصناعة ، 1 - في 1 مع موجهين في الصناعة ، أكثر من 400 ساعة من التعلم والمساعدة في العمل مع الشركات الكبرى.

ما هي البيانات المخفية في بايثون؟

يعد إخفاء البيانات أحد المفاهيم الأساسية للبرمجة الموجهة للكائنات والتي تقيد الوصول إلى البيانات من العالم الخارجي. يتم إخفاء التفاصيل مثل أعضاء البيانات بمساعدة محدد الوصول "الخاص". ضع في اعتبارك المثال التالي لفهم أفضل.
افترض أن لدينا فصلًا يسمى myClass وعضوًا خاصًا يسمى __privateCounter. داخل هذه الفئة ، لدينا وظيفة تسمى myFunc تزيد من قيمة __privateCounter بمقدار 1 وتطبعها. خارج الفصل ، أنشأنا كائنًا من الفئة وأطلقنا عليه اسم myFunc باستخدام هذا الكائن. الآن ، إذا حاولنا طباعة __privateCounter باستخدام هذا الكائن ، فسيؤدي ذلك إلى حدوث خطأ.
في المثال أعلاه ، يكون "__privateCounter" افتراضيًا عضوًا خاصًا في الفئة "myClass". نظرًا لأننا قمنا بإخفاء البيانات عليها ، فلا يمكن الوصول إليها خارج الفصل الذي تم الإعلان عنه فيه. للوصول إلى الأعضاء الخاصين ، يتعين علينا تحديد وظيفة العضو ، والتي تكون في هذه الحالة "myFunc".

ما هي مزايا وعيوب إخفاء البيانات؟

على الرغم من أن إخفاء البيانات هو مفهوم أساسي لـ OOPs وله العديد من المزايا ، إلا أن له بعض العيوب أيضًا. فيما يلي بعض أهم مزايا وعيوب إخفاء البيانات في بايثون:
مزايا
1. يساعد على منع إساءة استخدام البيانات المتقلبة والتلاعب بها من خلال إعلانها على أنها بيانات خاصة.
2. يتم فصل بيانات أعضاء الفصل عن البيانات غير ذات الصلة.
3. يعزل الأشياء كمفهوم أساسي لـ OOP.
سلبيات
1. غالبًا ما يضطر المبرمجون إلى كتابة رموز طويلة لحماية البيانات المتقلبة من العملاء.
2. تعمل الكائنات بشكل أبطأ نسبيًا لأن الارتباط بين البيانات المرئية وغير المرئية يجعلها تعمل بسرعة ويؤدي إخفاء البيانات إلى منع هذا الارتباط.

كيف يختلف إخفاء البيانات عن تجريد البيانات؟

يدعم إخفاء البيانات فكرة تقييد البيانات بحيث لا يمكن الوصول إليها أو تعديلها من قبل العالم الخارجي. على سبيل المثال ، يتم إخفاء تفاصيل راتب الموظف عن الموظفين الآخرين. في Python ، يتم تحقيق ذلك باستخدام "معدل الوصول الخاص".
يشير تجريد البيانات إلى فكرة إخفاء التطبيق الداخلي وإظهار السمات للعالم الخارجي فقط. على سبيل المثال ، في الآلة الحاسبة ، تظهر لك فقط العمليات التي تم إجراؤها بواسطة الآلة الحاسبة. ومع ذلك ، لا يمكنك رؤية العمل الداخلي لهذه العمليات. في Python ، يتم استخدام محددات وصول مختلفة لتنفيذ ذلك.