أهم أسئلة وأجوبة مقابلة بايثون (PDF) لعام 2024

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

فيما يلي أسئلة وأجوبة مقابلة بايثون للمرشحين الجدد وذوي الخبرة للحصول على وظيفة أحلامهم.

 

أسئلة المقابلة الأساسية لبايثون للطلاب الجدد


1) ما هي بايثون؟ ما هي فوائد استخدام بايثون؟

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

👉 تنزيل مجاني بصيغة PDF: أسئلة وأجوبة مقابلة بايثون


2) ما هو PEP 8؟

PEP 8 عبارة عن اتفاقية ترميز، ومجموعة من التوصيات، حول كيفية كتابة كود Python الخاص بك بشكل أكثر قابلية للقراءة.


3) ما هو التخليل والتفكيك؟

تقبل وحدة Pickle أي كائن Python وتحوله إلى تمثيل سلسلة وتفريغه في ملف باستخدام وظيفة التفريغ. هذه العملية تسمى التخليل. بينما تسمى عملية استرداد كائنات Python الأصلية من تمثيل السلسلة المخزنة بـ "unpickling".


4) كيف يتم تفسير بايثون؟

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


5) كيف تتم إدارة الذاكرة في بايثون؟

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

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

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


6) ما هي الأدوات التي تساعد في اكتشاف الأخطاء أو إجراء التحليل الثابت؟

PyChecker هي أداة تحليل ثابتة تكتشف الأخطاء في التعليمات البرمجية المصدر لـ Python وتحذر من النمط والميزاتplexأهمية الخطأ. Pylint هي أداة أخرى تتحقق مما إذا كانت الوحدة تلبي معايير الترميز.


7) ما هي برامج الديكور بايثون؟

يعد مصمم Python تغييرًا محددًا نقوم بإجرائه في بناء جملة Python لتغيير الوظائف بسهولة.


8) ما الفرق بين القائمة والصفوف؟

الفرق بين القائمة والصف هو أن القائمة قابلة للتغيير بينما الصف ليس كذلك. يمكن تجزئة Tuple، على سبيل المثال، كمفتاح للقواميس.


9) كيف يتم تمرير الوسائط حسب القيمة أو حسب المرجع؟

كل شيء في بايثون هو كائن، وجميع المتغيرات تحمل إشارات إلى الكائنات. القيم المرجعية هي وفقا للوظائف. ولذلك، لا يمكنك تغيير قيمة المراجع. ومع ذلك، يمكنك تغيير الكائنات إذا كانت قابلة للتغيير.


10) ما هو فهم الإملاء والقائمة؟

إنها عبارة عن إنشاءات تركيبية لتسهيل إنشاء قاموس أو قائمة بناءً على العناصر القابلة للتكرار الموجودة.


11) ما هي الأنواع المضمنة التي توفرها بايثون؟

توفر بايثون نوعين مدمجين: 1) قابل للتغيير و2) غير قابل للتغيير.

الأنواع المضمنة القابلة للتغيير هي:

  • قائمة
  • باكجات
  • القواميس
  • أنواع مدمجة غير قابلة للتغيير
  • سلاسل
  • الصفوف
  • أرقام

الأنواع المضمنة غير القابلة للتغيير هي:

  • سلاسل
  • الصفوف
  • أرقام

12) شرح مساحة الاسم في بايثون

في بايثون، كل اسم يتم تقديمه له مكان يعيش فيه ويمكن أن يتم ربطه به. يُعرف هذا بمساحة الاسم. إنه مثل أ box حيث يتم تعيين اسم متغير للكائن الموضوع. كلما تم البحث عن المتغير، هذا box سيتم البحث للحصول على الكائن المقابل.


13) ما هو لامدا في بايثون؟

إنها وظيفة مجهولة ذات تعبير واحد تستخدم غالبًا كوظيفة مضمنة.


14) لماذا لا تحتوي نماذج لامدا في بايثون على عبارات؟

لا يحتوي نموذج لامدا في بايثون على عبارات حيث يتم استخدامه لإنشاء كائن دالة جديد ثم إعادته في وقت التشغيل.


15) شرح pass في بايثون

كلمة Pass تعني عدم إجراء أي عملية في Python، أو بمعنى آخر، هي مكان في عبارة مركبة، حيث يجب أن يكون هناك فراغ على اليسار، ولا يجب كتابة أي شيء هناك.


16) ما هي التكرارات في بايثون؟

في بايثون، تُستخدم المُكرِّرات لتكرار مجموعة من العناصر، مثل الحاويات مثل القائمة.


17) ما هي الوحدة في بايثون؟

يُعرف إطار اختبار الوحدة في Python باسم Unittest. وهو يدعم مشاركة الإعدادات، واختبار الأتمتة، ورمز إيقاف التشغيل للاختبارات، وتجميع الاختبارات في مجموعات، وما إلى ذلك.


18) شرح التقطيع في بايثون؟

تُعرف آلية تحديد نطاق من العناصر من أنواع التسلسل مثل القائمة والصفوف والسلاسل وما إلى ذلك باسم التقطيع.


19) ما هي generatorفي بايثون؟

تُعرف طريقة تنفيذ التكرارات باسم generatorس. إنها وظيفة عادية إلا أنها تنتج تعبيرًا في الوظيفة.


20) ما هو docstring في بايثون؟

تُعرف سلسلة توثيق Python باسم docstring، وهي طريقة لتوثيق وظائف Python ووحداتها وفئاتها.


أسئلة مقابلة بايثون للخبرة

21) كيف يمكنك نسخ كائن في بايثون؟

لنسخ كائن في بايثون، يمكنك تجربة copy.copy () or copy.deepcopy() للقضية العامة. لا يمكنك نسخ كافة الكائنات ولكن معظمها.


22) ما هو المؤشر السلبي في بايثون؟

يمكن فهرسة تسلسلات بايثون بأرقام موجبة وسالبة. بالنسبة للمؤشر الموجب، 0 هو الفهرس الأول، 1 هو الفهرس الثاني، وهكذا. بالنسبة للمؤشر السالب، (-1) هو الفهرس الأخير، و(-2) هو الفهرس الأخير الثاني، وهكذا.


23) كيف يمكنك تحويل رقم إلى سلسلة؟

من أجل تحويل رقم إلى سلسلة، استخدم الدالة يحمل في ثناياه عوامل str(). إذا كنت تريد تمثيلًا ثمانيًا أو سداسيًا عشريًا، فاستخدم الدالة المضمنة oct() أو hex().


24) ما الفرق بين xrange و range؟

يقوم Xrange بإرجاع كائن xrange بينما يقوم range بإرجاع القائمة ويستخدم نفس الذاكرة بغض النظر عن حجم النطاق.


25) ما هي الوحدة والحزمة في بايثون؟

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

مجلد برنامج بايثون عبارة عن حزمة من الوحدات. يمكن أن تحتوي الحزمة على وحدات أو مجلدات فرعية.


26) ما هي قواعد المتغيرات المحلية والعالمية في بايثون؟

فيما يلي القواعد المحلية والعالمية المتغيرات في بايثون:

المتغيرات المحلية: إذا تم تعيين قيمة جديدة لمتغير في أي مكان داخل نص الدالة، فمن المفترض أن تكون محلية.

المتغيرات العالمية: تلك المتغيرات التي يتم الرجوع إليها فقط داخل الدالة تكون عالمية ضمنيًا.


27) كيف يمكنك مشاركة المتغيرات العالمية عبر الوحدات؟

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


28) اشرح كيف يمكنك جعل برنامج Python قابلاً للتنفيذ على نظام Unix؟

لصنع نص بايثون قابل للتنفيذ على يونكس، عليك القيام بأمرين،

يجب أن يكون وضع ملف البرنامج النصي قابلاً للتنفيذ، ويجب أن يبدأ السطر الأول بـ # ( #!/usr/local/bin/python)


29) شرح كيفية حذف ملف في بايثون؟

باستخدام أمر os.remove (filename) or os.unlink(filename)


30) اشرح كيف يمكنك توليد أرقام عشوائية في بايثون؟

لإنشاء أرقام عشوائية في بايثون، تحتاج إلى استيراد الأمر باسم

import random
random.random()

يؤدي هذا إلى إرجاع رقم الفاصلة العائمة العشوائي في النطاق [0,1،XNUMX)


31) كيف يمكنك الوصول إلى وحدة مكتوبة بلغة بايثون من لغة C؟

يمكنك الوصول إلى وحدة مكتوبة بلغة Python من C بواسطة following الأسلوب،

Module = PyImport_ImportModule("<modulename>");


32) ما فائدة العامل // في بايثون؟

هو عامل تقسيم الأرضية، والذي يستخدم لتقسيم معاملين تكون النتيجة كحاصل قسمةwing أرقام فقط قبل العلامة العشرية. على سبيل المثال، 10//5 = 2 و10.0//5.0 = 2.0.


33) اذكر خمس فوائد لاستخدام بايثون

فيما يلي الفوائد الخمس لاستخدام بايثون:

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

34) اذكر استخدام دالة الانقسام في بايثون

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


35) ما هو الفرق بين جانغو، الهرم، والقارورة؟

Flask عبارة عن "إطار عمل صغير" مصمم بشكل أساسي لتطبيق صغير بمتطلبات أبسط. في القارورة، ليس عليك استخدام المكتبات الخارجية. القارورة جاهزة للاستخدام.

تم تصميم الأهرامات لتطبيقات أكبر. فهو يوفر المرونة ويتيح للمطور استخدام الأدوات المناسبة لمشروعه. يمكن للمطور اختيار قاعدة البيانات وبنية عنوان URL ونمط القالب والمزيد. مثل Pyramid، يمكن أيضًا استخدام Django لتطبيقات أكبر. يتضمن ORM.


أسئلة وأجوبة مقابلة بايثون قارورة

36) شرح القارورة وفوائدها

Flask عبارة عن إطار عمل ويب صغير لـ Python يعتمد على "Werkzeug وJinja 2 والنوايا الحسنة" المرخص من BSD. Werkzeug و jingja هما من تبعياتها.

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


37) ما هو Flask-WTF وما هي مميزاته؟

يوفر Flask-WTF تكاملًا بسيطًا مع WTForms. الميزات المتضمنة في Flask WTF هي:

  • التكامل مع WTFforms
  • نموذج آمن باستخدام رمز CSRF
  • حماية CSRF العالمية
  • التكامل الدولي
  • دعم Recaptcha
  • تحميل الملف الذي يعمل مع Flask Uploads

38) اشرح ما هي الطريقة الشائعة لعمل البرنامج النصي Flask؟

الطريقة الشائعة لعمل البرنامج النصي للقارورة هي:

  • إما أن يكون مسار الاستيراد لتطبيقك
  • أو المسار إلى ملف بايثون

39) اشرح كيف يمكنك الوصول إلى الجلسات في Flask؟

تتيح لك الجلسة بشكل أساسي تذكر المعلومات من طلب إلى آخر. وفي قارورة، يستخدم ملف تعريف الارتباط الموقع حتى يتمكن المستخدم من الاطلاع على محتويات الجلسة وتعديلها. يمكن للمستخدم تعديل الجلسة إذا كان لديه المفتاح السري Flask.secret_key فقط.


40) هل Flask هو نموذج MVC، وإذا كانت الإجابة بنعم أعط مثالا على ذلكwing نمط MVC لتطبيقك؟

في الأساس، Flask هو إطار عمل بسيط يتصرف مثل إطار عمل MVC. لذا فإن MVC مناسب تمامًا لـ Flask، وسنضع نمط MVC في الاعتبار للمتابعةwing مثال

من القارورة استيراد القارورة

app = Flask(_name_)

@app.route("/")

Def hello():

return "Hello World"

app.run(debug = True)
في هذا الكود، سيكون جزء التكوين الخاص بك من قارورة استيراد Flask
app = Flask(_name_)
عرض الجزء سيكون

@app.route("/")

Def hello():

return "Hello World"

أثناء قيامك بالنموذج أو الجزء الرئيسي سيكون
app.run(debug = True)


41) شرح اتصال قاعدة البيانات في Python Flask؟

يدعم Flask التطبيقات التي تدعم قاعدة البيانات (RDBS). يتطلب مثل هذا النظام إنشاء مخطط، الأمر الذي يتطلب نقل ملف shema.sql إلى أمر sqlite3. لذلك تحتاج إلى تثبيت أمر sqlite3 لإنشاء قاعدة البيانات أو بدء تشغيلها في Flask.

يسمح Flask بطلب قاعدة البيانات بثلاث طرق

  • قبل_الطلب (): يتم استدعاؤه قبل الطلب ولا يمرر أي وسيطات
  • after_request(): يتم استدعاؤه بعد الطلب وتمرير الرد الذي سيتم إرساله إلى العميل
  • طلب التمزق (): يتم استدعاؤه في حالة ظهور الاستثناء وعدم ضمان الاستجابة. يتم استدعاؤهم بعد إنشاء الاستجابة. لا يُسمح لهم بتعديل الطلب، ويتم تجاهل قيمهم.

42) إذا كان لديك عدة خوادم Memcache، وفشل أحدها الذي يحتوي على بيانات، فهل سيحاول الحصول عليها؟

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


43) اشرح كيف يمكنك تقليل انقطاع خادم Memcached في تطوير Python الخاص بك؟

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

44) اشرح ما هو تأثير Dogpile؟ كيف يمكنك منع هذا التأثير؟

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


45) اشرح كيف لا ينبغي استخدام memcached في مشروع بايثون الخاص بك؟

فيما يلي الطرق التي يجب ألا تستخدم بها memcached في ملفك مشروع بايثون:

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

أسئلة المقابلة الخاصة ببرمجة بايثون

46) ما هو بيان بايثون إذا؟

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

عندما تريد تبرير شرط واحد بينما الشرط الآخر غير صحيح، يمكنك استخدام عبارة Python if-else.

بايثون إذا بناء الجملة:

if expression
Statement
else
Statement

بايثون إذا…مخطط انسيابي آخر

بايثون إذا .. مخطط انسيابي آخر

دعونا نرى مثالاً على بيان Python if else:

عبارات بايثون الشرطية

دعونا نرى مثالاً على بيان Python if else:

def main():
    x,y =2,8
    
    if(x < y):
        st= "x is less than y"
    print(st)
    
if __name__ == "__main__":
    main()

47) شرح حلقة while في بايثون مع المثال

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

بناء جملة حلقة while كما يلي:

while expression
Statement

مثال حلقة while هو كما يلي:

x=0
#define a while loop
while(x <4):
        print(x)
        x = x+1

48) ما هو enumerate() في بايثون؟

تعداد () في بايثون هي وظيفة مضمنة تستخدم لتعيين فهرس لكل عنصر من عناصر الكائن القابل للتكرار. فهو يضيف حلقة على الكائنات القابلة للتكرار مع تتبع العنصر الحالي ويعيد الكائن في شكل قابل للتعداد. يمكن استخدام هذا الكائن في حلقة for لتحويله إلى قائمة باستخدام طريقة list().

مثال التعداد () هو كما يلي:

لنفترض أننا نريد إجراء ترقيم لشهرنا (يناير، فبراير، مارك،.... يونيو)، لذلك نعلن عن المتغير i الذي يعد الأرقام بينما m سيطبع رقم الشهر في القائمة.

#use a for loop over a collection
Months = ["Jan","Feb","Mar","April","May","June"]
for i, m in enumerate (Months):
        print(i,m)
        
# use the break and continue statements
        
        #for x in range (10,20):
        #if (x == 15): break
        #if (x % 5 == 0) : continue
        #print x

49) كيف يمكنك استخدام حلقة for لتكرار نفس العبارة مراراً وتكراراً؟

يمكنك استخدام حلقة for حتى لتكرار نفس العبارة مرارًا وتكرارًا. هنا في المثال، قمنا بطباعة كلمة "guru99" ثلاث مرات.

على سبيل المثال:

لتكرار نفس العبارة عدة مرات، قمنا بإعلان الرقم في المتغير i (i في 123). لذلك عندما تقوم بتشغيل الكود كما هو موضح أدناه، فإنه يطبع العبارة (guru99) التي تضاعف عدة مرات الرقم المعلن للمتغير الخاص بنا في (i in 123).

for i in '123':
 print ("guru99",i,)

50) ما هي مطابقة الصفوف في بايثون؟

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

بناء الجملة:
Tup = ('Jan','feb','march')

لكتابة صف فارغ، عليك أن تكتب بين قوسين لا يحتويان على أي شيء-
tup1 = ();


51) شرح القاموس في لغة بايثون مع المثال

A القاموس في بايثون هي مجموعة غير مرتبة وقابلة للتغيير من قيم البيانات التي تحتوي على أزواج القيمة الرئيسية. يقوم كل زوج من المفاتيح والقيمة في القاموس بتعيين المفتاح للقيمة المرتبطة به مما يجعله أكثر تحسينًا. يتم الإعلان عن قاموس في لغة بايثون من خلال تضمين قائمة مفصولة بفواصل لأزواج القيمة الرئيسية باستخدام الأقواس المتعرجة ({}). يصنف قاموس بايثون إلى عنصرين: المفاتيح والقيم.

بناء الجملة لقاموس بايثون:
Dict = { ' Tim': 18, xyz,.. }

مثال

Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}   
print((Dict['Tiffany']))

52) كيف يمكنك نسخ القاموس بأكمله إلى قاموس جديد؟

يمكنك أيضًا نسخ القاموس بأكمله إلى قاموس جديد. على سبيل المثال، قمنا هنا بنسخ قاموسنا الأصلي إلى اسم القاموس الجديد "Boys" و"Girls".

مثال

Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}    
Boys = {'Tim': 18,'Charlie':12,'Robert':25}
Girls = {'Tiffany':22}    
studentX=Boys.copy()
studentY=Girls.copy()
print(studentX)
print(studentY)

53) كيف يمكنك تحديث قاموس بايثون؟

يمكنك تحديث قاموس عن طريق إضافة إدخال جديد أو زوج من المفتاح والقيمة إلى إدخال موجود أو عن طريق حذف إدخال موجود. هنا في المثال، سنضيف اسمًا آخر، "سارة" إلى قاموسنا الحالي.

مثال

Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}    
Dict.update({"Sarah":9})
print(Dict)

54) أعط مثالاً على طريقة عناصر القاموس ().

Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}    
print("Students Name: %s" % list(Dict.items()))

55) كيف يمكنك فرز العناصر في قاموس بايثون؟

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

على سبيل المثال:

Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}
Boys = {'Tim': 18,'Charlie':12,'Robert':25}
Girls = {'Tiffany':22}
Students = list(Dict.keys())
Students.sort()
for S in Students:
      print(":".join((S,str(Dict[S]))))

56) أعط مثالاً على طريقة Dictionary len() وPython List cmp()

قاموس لين () مثال:

Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}    
print("Length : %d" % len (Dict))

cmp() مثال:

Boys = {'Tim': 18,'Charlie':12,'Robert':25}
Girls = {'Tiffany':22}    
print cmp(Girls, Boys)

57) ما هي جميع طرق القاموس:

فيما يلي قائمة بأساليب القاموس:

  • نسخة ()
  • تحديث ()
  • العناصر()
  • فرز()
  • لين ()
  • cmp()
  • شارع ()

58) شرح العمليات الحسابية مع المثال

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

مثال: بالنسبة للعوامل الحسابية، سنأخذ مثالاً بسيطًا للجمع حيث سنجمع رقمين 4+5=9

x= 4    
y= 5
print(x + y)

59) أعط أمثلة على العوامل المنطقية

مثال على العوامل المنطقية:

a = True
b = False
print(('a and b is',a and b))
print(('a or b is',a or b))
print(('not a is',not a))

60) شرح مشغلي العضوية مع المثال

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

على سبيل المثال:

على سبيل المثال، نحن نتحقق مما إذا كانت قيمة x=4 وقيمة y=8 متاحة في القائمة أم لا باستخدام عوامل التشغيل in وليس في عوامل التشغيل.

x = 4
y = 8
list = [1, 2, 3, 4, 5 ];
if ( x in list ):
   print("Line 1 - x is available in the given list")
else:
   print("Line 1 - x is not available in the given list")
if ( y not in list ):
   print("Line 2 - y is not available in the given list")
else:
   print("Line 2 - y is available in the given list")

61) اكتب التعليمات البرمجية لإثبات أسبقية عامل التشغيل في بايثون:

v = 4
w = 5
x = 8
y = 2
z = 0
z = (v+w) * x / y;   
print("Value of (v+w) * x/ y is ",  z)

62) شرح المصفوفات في بايثون مع المثال

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

بناء الجملة لإنشاء صفيف في بايثون

يمكنك الإعلان عن مصفوفة في Python أثناء تهيئتها باستخدام following بناء الجملة.
arrayName = array.array(type code for data type, [array,items])

التاليwing الصورة تشرح بناء الجملة.

بناء جملة المصفوفة

  1. تحديد: حدد اسمًا كما تفعل عادةً للمتغيرات
  2. وحدة: لدى بايثون وحدة نمطية خاصة لإنشاء المصفوفة في بايثون، تسمى "المصفوفة" - يجب عليك استيرادها قبل استخدامها
  3. خدمة التوصيل: وحدة المصفوفة لديها طريقة لتهيئة المصفوفة. يستغرق وسيطتين، اكتب التعليمات البرمجية، والعناصر.
  4. كود نوع: تحديد نوع البيانات باستخدام رموز النوع المتاحة (انظر القائمة أدناه)
  5. عناصر: تحديد عناصر المصفوفة داخل المربع bracketsمثلا [130,450,103]

مثال

import array as myarray
abc = myarray.array('d', [2.5, 4.9, 6.7])

63) كيف يمكنك الوصول إلى عناصر المصفوفة؟

يمكنك الوصول إلى أي عنصر مصفوفة باستخدام الفهرس الخاص به.

بناء الجملة هو

arrayName[indexNum]

مثال

import array
balance = array.array('i', [300,200,100])
print(balance[1])

64) كيف يمكنك إدراج العناصر في المصفوفة؟

تمكنك عملية إدراج مصفوفة بايثون من إدراج عنصر واحد أو أكثر في مصفوفة في البداية أو النهاية أو أي فهرس محدد للمصفوفة. تتوقع هذه الطريقة فهرس وقيمة وسيطتين.

بناء الجملة هو

arrayName.insert(index, value)

مثال

دعونا نضيف قيمة جديدة مباشرة بعد العنصر الثاني من المصفوفة. حاليًا، تحتوي مصفوفة التوازن لدينا على ثلاثة عناصر: 300 و200 و100. خذ بعين الاعتبار عنصر المصفوفة الثاني بقيمة 200 والفهرس 1.

لإدراج القيمة الجديدة مباشرة بعد الفهرس 1، تحتاج إلى الرجوع إلى الفهرس 2 في طريقة الإدراج الخاصة بك، كما هو موضح في مثال مصفوفة بايثون أدناه:

import array
balance = array.array('i', [300,200,100])
balance.insert(2, 150)
print(balance)

65) كيف يمكنك حذف العناصر في المصفوفة؟

باستخدام هذه العملية، يمكنك حذف عنصر واحد من مصفوفة حسب القيمة. تقبل هذه الطريقة وسيطة واحدة فقط وهي القيمة. بعد تشغيل هذه الطريقة، يتم إعادة ترتيب عناصر المصفوفة، ويتم إعادة تعيين المؤشرات.

بناء الجملة هو

arrayName.remove(value)

مثال

لنقم بإزالة القيمة "3" من المصفوفة

import array as myarray
first = myarray.array('b', [2, 3, 4]) 
first.remove(3) 
print(first)

66) كيف يمكنك البحث والحصول على فهرس القيمة في المصفوفة؟

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

بناء الجملة هو

arrayName.index(value)

مثال

دعونا نجد قيمة "3" في المصفوفة. تقوم هذه الطريقة بإرجاع فهرس القيمة التي تم البحث عنها.

import array as myarray
number = myarray.array('b', [2, 3, 4, 5, 6])              
print(number.index(3))

67) كيف يمكنك عكس المصفوفة في بايثون؟

يمكنك استخدام عكس () لعكس المصفوفة في بايثون.

على سبيل المثال:

import array as myarray
number = myarray.array('b', [1,2, 3])   
number.reverse()           
print(number)

68) أعط مثالاً لتحويل المصفوفة إلى Unicode

المثال لتحويل المصفوفة إلى Unicode هو:

from array import array
p = array('u',[u'\u0050',u'\u0059',u'\u0054',u'\u0048',u'\u004F',u'\u004E'])
print(p)
q = p.tounicode()
print(q)

69) أعط مثالا لفئة في بايثون

مثال للفئة في بايثون

		# Example file for working with classes
class myClass():
  def method1(self):
      print("Guru99")
         
  def method2(self,someString):    
      print("Software Testing:" + someString)
   
   def main():           
  # exercise the class methods
  c = myClass ()
  c.method1()
  c.method2(" Testing is fun")
   
if __name__== "__main__":
  main() 

70) شرح الميراث بالقدوة

الميراث هو الميزة المستخدمة في البرمجة الشيئية; يشير إلى تحديد فئة جديدة مع تعديل أقل أو بدون تعديل على فئة موجودة. تسمى الفئة الجديدة بالفئة المشتقة، ومن تلك التي ترثها تسمى الفئة الأساسية. بايثون تدعم الميراث. كما أنه يدعم الميراث المتعددة. يمكن للفئة أن ترث السمات وأساليب السلوك من فئة أخرى تسمى فئة فرعية أو فئة الوريث.

مثال على الميراث:

# Example file for working with classes
class myClass():
  def method1(self):
      print("Guru99")
         
 class childClass(myClass):
  #def method1(self):
        #myClass.method1(self);
        #print ("childClass Method1")
         
  def method2(self):
        print("childClass method2")     
          
def main():           
  # exercise the class methods
  c2 = childClass()
  c2.method1()
  #c2.method2()

if __name__== "__main__":
  main()

71) أعط مثالاً لمنشئي بايثون

مثال على منشئي بايثون

class User:
    name = ""

    def __init__(self, name):
        self.name = name

    def sayHello(self):
        print("Welcome to Guru99, " + self.name)

User1 = User("Alex")
User1.sayHello()

72) كيف يمكنك الوصول إلى القيم في السلسلة؟

لا تدعم لغة بايثون نوع الحرف، حيث يتم التعامل معها على أنها سلاسل بطول واحد، وتعتبر أيضًا سلسلة فرعية.

يمكنك استخدام مربع brackets للتقطيع مع الفهرس أو المؤشرات للحصول على سلسلة فرعية.

var1 = "Guru99!"
var2 = "Software Testing"
print ("var1[0]:",var1[0])
print ("var2[1:5]:",var2[1:5])

73) شرح جميع مشغلي السلسلة مع المثال

مشغلي السلسلة مع المثال:

المُشغل الوصف مثال
[] شريحة - تعطي الحرف من الفهرس المحدد a[1] سيعطي "u" من كلمة Guru على هذا النحو (0=G، 1=u، 2=r و3=u)
[ : ] شريحة النطاق-تعطي الأحرف من النطاق المحدد x [1:3] ستعطي كلمة "ur" من كلمة Guru. تذكر أنها لن تأخذ في الاعتبار 0، وهو G، بل ستأخذ في الاعتبار الكلمة بعد ذلك وهي ur.
in العضوية تُرجع صحيحًا في حالة وجود حرف في السلسلة المحددة u موجود في كلمة Guru، وبالتالي سيعطي 1 (صحيح)
ليس في تُرجع العضوية صوابًا في حالة وجود حرف غير موجود في السلسلة المحددة أنا غير موجود في كلمة Guru وبالتالي سيعطي 1
ص / ص تمنع السلسلة الأولية المعنى الفعلي لأحرف الهروب. طباعة مطبوعات r'\n' \n وطباعة مطبوعات R'/n' \n
% - يستخدم لتنسيق السلسلة %r – يقوم بإدراج تمثيل السلسلة الأساسية للكائن (على سبيل المثال، repr(o)) %s- يقوم بإدراج تمثيل سلسلة العرض التقديمي للكائن (على سبيل المثال، str(o)) %d- سيقوم بتنسيق رقم للعرض سيكون إخراج هذا الرمز هو "المعلم 99".
+ فإنه يسلسل 2 سلاسل فهو يسلسل السلاسل ويعطي النتيجة
* كرر يقوم بطباعة الحرف مرتين.

74) أعط مثالاً على وظيفة النوم () في بايثون

مثال على وظيفة النوم () في بايثون

import time
print("Welcome to guru99 Python Tutorials")
time.sleep(5)
print("This message will be printed after a wait of 5 seconds")

75) ما هي طريقة المؤقت في بايثون؟

Timer هي طريقة متاحة مع Threading، وهي تساعد في الحصول على نفس وظيفة النوم الزمني في Python.

from threading import Timer

print('Code Execution Started')

def display():
    print('Welcome to Guru99 Tutorials')

t = Timer(5, display)  
t.start()

76) أعط مثالاً لفئة التقويم

مثال على فئة التقويم

import calendar
# Create a plain text calendar
c = calendar.TextCalendar(calendar.THURSDAY)
str = c.formatmonth(2025, 1, 0, 0)
print(str)

# Create an HTML formatted calendar
hc = calendar.HTMLCalendar(calendar.THURSDAY)
str = hc.formatmonth(2025, 1)
print(str)
# loop over the days of a month
# zeroes indicate that the day of the week is in a next month or overlapping month
for i in c.itermonthdays(2025, 4):
    print(i)

    # The calendar can give info based on local such a names of days and months (full and abbreviated forms)
    for name in calendar.month_name:
        print(name)
    for day in calendar.day_name:
        print(day)
    # calculate days based on a rule: For instance an audit day on the second Monday of every month
    # Figure out what days that would be for each month, we can use the script as shown here
    for month in range(1, 13):
        # It retrieves a list of weeks that represent the month
        mycal = calendar.monthcalendar(2025, month)
        # The first MONDAY has to be within the first two weeks
        week1 = mycal[0]
        week2 = mycal[1]
        if week1[calendar.MONDAY] != 0:
            auditday = week1[calendar.MONDAY]
        else:
        # if the first MONDAY isn't in the first week, it must be in the second week
            auditday = week2[calendar.MONDAY]
print("%10s %2d" % (calendar.month_name[month], auditday))

77) شرح ملف Python ZIP مع المثال

تسمح لك Python بإنشاء ملف zip/tar بسرعة archiفيس.

فولوwing سيقوم الأمر بضغط الدليل بأكمله
shutil.make_archive(output_filename, 'zip', dir_name)

فولوwing يمنحك الأمر التحكم في الملفات التي تريدها archive

ZipFile.write(filename)

مثال على ملف بايثون ZIP

import os
import shutil
from zipfile import ZipFile
from os import path
from shutil import make_archive

    # Check if file exists
       if path.exists("guru99.txt"):
    # get the path to the file in the current directory
        src = path.realpath("guru99.txt");
    # rename the original file
        os.rename("career.guru99.txt","guru99.txt")
    # now put things into a ZIP archive
        root_dir,tail = path.split(src)
        shutil.make_archive("guru99 archive","zip",root_dir)
    # more fine-grained control over ZIP files
        with ZipFile("testguru99.zip", "w") as newzip:
            newzip.write("guru99.txt")
            newzip.write("guru99.txt.bak")

78) ما هي الأمثلة الشائعة للاستثناءات في بايثون؟

الأمثلة الشائعة للاستثناءات في بايثون هي:

  • القسمة على صفر
  • الوصول إلى ملف غير موجود.
  • إضافة نوعين غير متوافقين
  • محاولة الوصول إلى فهرس غير موجود للتسلسل
  • إزالة الجدول من خادم قاعدة البيانات المنفصلة.
  • سحب مبلغ أكبر من المبلغ المتاح من أجهزة الصراف الآلي

79) شرح أخطاء بايثون الهامة

أخطاء بايثون المهمة هي 1) ArithmeticError، 2) ImportError، و3) IndexError.

  • خطأ حسابي: يعمل ArithmeticError كفئة أساسية لجميع الاستثناءات الحسابية. ويرفع للأخطاء في العمليات الحسابية.
  • خطأ في الاستيراد: يظهر خطأ الاستيراد عندما تحاول استيراد وحدة نمطية غير موجودة. يحدث هذا النوع من الاستثناء إذا ارتكبت خطأً في الكتابة في اسم الوحدة أو الوحدة غير الموجودة في المسار القياسي.
  • خطأ في الفهرس: يظهر الخطأ IndexError عند محاولة إحالة تسلسل خارج النطاق.

80) شرح JSON dumps() في بايثون مع المثال

json.dumps() في Python هي طريقة تقوم بتحويل كائنات قاموس Python إلى تنسيق بيانات سلسلة JSON. يكون ذلك مفيدًا عندما يُطلب من الكائنات أن تكون بتنسيق سلسلة لعمليات مثل التحليل والطباعة وما إلى ذلك.

على سبيل المثال:

import json

x = {
  "name": "Ken",
  "age": 45,
  "married": True,
  "children": ("Alice","Bob"),
  "pets": ['Dog'],
  "cars": [
    {"model": "Audi A1", "mpg": 15.1},
    {"model": "Zeep Compass", "mpg": 18.1}
  ]
}
# sorting result in asscending order by keys:
sorted_string = json.dumps(x, indent=4, sort_keys=True)
print(sorted_string)

81) شرح مفصل لـ JSON to Python (فك التشفير) مع المثال

يتم فك تشفير سلسلة JSON بمساعدة الطريقة المدمجة json.loads() & json.load() مكتبة JSON في بايثون.

يعرض جدول الترجمة هنا مثالاً لكائنات JSON لكائنات Python والتي تساعد في تنفيذ فك التشفير في سلسلة Python لـ JSON.

JSON بايثون
هدف قاموس
مجموعة قائمة
خيط يونيكود
الرقم - كثافة العمليات رقم - كثافة العمليات، طويلة
رقم - حقيقي تطفو
صواب صواب
خطأ خطأ
فارغة بدون اضاءة

مثال JSON الأساسي إلى Python لفك التشفير بمساعدة وظيفة json.loads:

import json  # json library imported
# json data string
person_data = '{  "person":  { "name":  "Kenn",  "sex":  "male",  "age":  28}}'
# Decoding or converting JSON format in dictionary using loads()
dict_obj = json.loads(person_data)
print(dict_obj)
# check type of dict_obj
print("Type of dict_obj", type(dict_obj))
# get human object details
print("Person......",  dict_obj.get('person'))

82) كتابة التعليمات البرمجية لأسلوب التشفير ().

رمز طريقة التشفير ():

# import JSONEncoder class from json
from json.encoder import JSONEncoder
colour_dict = { "colour": ["red", "yellow", "green" ]}
# directly called encode method of JSON
JSONEncoder().encode(colour_dict)

83) اكتب كود بايثون للمصفوفة في numpy لإنشاء مصفوفة بايثون

رمز المصفوفة في numpy لإنشاء Python Matrix

import numpy as np
M1 = np.array([[5, -10, 15], [3, -6, 9], [-4, 8, 12]])
print(M1)

84) اكتب كود Phyhon لطرح المصفوفات

كود Phyhon لطرح المصفوفة

import numpy as np
M1 = np.array([[3, 6, 9], [5, -10, 15], [-7, 14, 21]])
M2 = np.array([[9, -18, 27], [11, 22, 33], [13, -26, 39]])
M3 = M1 - M2  
print(M3)

85) كتابة التعليمات البرمجية لضرب المصفوفة

رمز ضرب المصفوفات

استيراد numpy كـ np

M1 = np.array([[3, 6], [5, -10]])
M2 = np.array([[9, -18], [11, 22]])
M3 = M1.dot(M2)  
print(M3)

86) شرح تشريح المصفوفة مع المثال

سيعيد لك التقطيع العناصر من المصفوفة بناءً على فهرس البداية/النهاية المحدد.

بناء الجملة للتقطيع هو:

[start:end]

  • إذا لم يتم إعطاء فهرس البداية، فسيتم اعتباره 0. على سبيل المثال [:5]، يعني [0:5].
  • إذا لم يتم تمرير النهاية، فسوف يستغرق الأمر طول المصفوفة.
  • إذا كانت البداية/النهاية لها قيم سالبة، فسيتم إجراء التقطيع من نهاية المصفوفة.

قبل أن نعمل على تقسيم المصفوفة، دعونا نفهم أولاً كيفية تطبيق الشريحة على مصفوفة بسيطة.

import numpy as np

arr = np.array([2,4,6,8,10,12,14,16])
print(arr[3:6]) # will print the elements from 3 to 5
print(arr[:5]) # will print the elements from 0 to 4
print(arr[2:]) # will print the elements from 2 to length of the array.
print(arr[-5:-1]) # will print from the end i.e. -5 to -2
print(arr[:-1]) # will print from end i.e. 0 to -2

87) اكتب كود بايثون للعثور على المتوسط ​​عبر الحلقة

إليك رمز للعثور على المتوسط ​​عبر الحلقة:

def cal_average(num):
    sum_num = 0
    for t in num:
        sum_num = sum_num + t           

    avg = sum_num / len(num)
    return avg

print("The average is", cal_average([18,25,3,41,5]))

88) اكتب رمزًا لعدد القائمة

إليك رمز لعدد القائمة:

list1 = ['red', 'green', 'blue', 'orange', 'green', 'gray', 'green']
color_count = list1.count('green')
print('The count of color: green is ', color_count)

89) كيف يمكنك حساب العناصر المكررة في قائمة معينة؟

حساب العناصر المكررة في قائمة معينة

list1 = [2,3,4,3,10,3,5,6,3]
elm_count = list1.count(3)
print('The count of element: 3 is ', elm_count)

90) اكتب رمزًا للحصول على فهرس عنصر في القائمة باستخدام حلقة for

رمز للحصول على فهرس عنصر في القائمة باستخدام الحلقة:

my_list = ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru'] 
all_indexes = [] 
for i in range(0, len(my_list)) : 
    if my_list[i] == 'Guru' : 
        all_indexes.append(i)
print("Originallist ", my_list)
print("Indexes for element Guru : ", all_indexes)

91) أعط مثالاً لنوع بايثون()

str_list = "Welcome to Guru99"
age = 50
pi = 3.14
c_num = 3j+10
my_list = ["A", "B", "C", "D"]
my_tuple = ("A", "B", "C", "D")
my_dict = {"A":"a", "B":"b", "C":"c", "D":"d"}
my_set = {'A', 'B', 'C', 'D'}

print("The type is : ",type(str_list))
print("The type is : ",type(age))
print("The type is : ",type(pi))
print("The type is : ",type(c_num))
print("The type is : ",type(my_list))
print("The type is : ",type(my_tuple))
print("The type is : ",type(my_dict))
print("The type is : ",type(my_set))

92) كيف يمكنك الطباعة بدون سطر جديد في بايثون؟

من Python 3+، تم تقديم معلمة إضافية للطباعة () تسمى end=. تهتم هذه المعلمة بإزالة السطر الجديد الذي تتم إضافته افتراضيًا في print().

في طباعة Python 3 بدون مثال السطر الجديد أدناه، نريد طباعة السلاسل على نفس السطر في Python. لتفعيل ذلك، ما عليك سوى إضافة end=”” داخل print() كما هو موضح في المثال أدناه:

print("Hello World ", end="")
print("Welcome to Guru99 Tutorials")

93) كيف يمكن طباعة نمط النجمة (*) بدون سطر جديد ومسافة؟

كود لطباعة نمط النجمة (*) بدون سطر جديد ومسافة:

for i in range(0, 20):
    print('*', end="")

ستساعد أسئلة المقابلة هذه أيضًا في حياتك (شفهي)