مرحبًا نحن نحب مسابقة حول لغات البرمجة. لقد نشرنا بالفعل ثلاثة على مدونتنا: الأولى - في Python ، PHP ، Golang ، DevOps ، والثانية - تمامًا في Go ، والثالثة - فقط في PHP. مسابقة اليوم مخصصة حصريًا لبايثون.
ندعوك للإحماء على شرف نهاية أسبوع صيفي آخر وعشية PyCon Russia 2018 . (بالمناسبة ، من ذاهب؟ سنكون هناك).
تحت القطع - سبعة أسئلة ، نصيحة من صديق ، Chapaev ، مقتطفات من ABBA ( ماذا؟ نعم! ) وسلعة رائعة.
حدث: لقد انتهينا من قبول الإجابات. شكرا لكل من شارك! الإجابات على الأسئلة موجودة داخل النص ، والفائزين والفائزين بالجوائز هم تحت المفسد.

الجوائز
سيتم توزيع الجوائز على العشرة الأوائل. أول من أجاب بشكل صحيح على جميع أسئلة اختبار Python ، سنرسل مجموعة Avito-merch متطورة: قميص رياضي وجوارب وعظام مجوفة - يمكنك تخمين لغة الواجهة الخلفية وإطار الواجهة الأمامية الذي سيتم كتابة مشروعك الجديد فيه. سيتم منح المشارك الثاني الذي أكمل المهام مع holivones والجوارب وقميص. سيحصل الثالث على نفس المجموعة ، ولكن بدون تي شيرت / قميص من النوع الثقيل. من بين المشاركين السبعة المتبقين ، سنلعب زجاجة حرارية مع كاربين ، والتي يمكن أخذها حتى في نزهة على الأقل ، في هاكاثون.

الأسئلة
* في جميع الأحوال ، نحن نتحدث عن Python 3.
السؤال 1
ماذا ستكون النتيجة في المتغير t :
 >>> t = (1, 2, [30,40]) >>> t[2] += [50, 60] 
خيارات الإجابة:
- TypeErrorسيطير ،- tسيكون- (1, 2, [30, 40, 50, 60])،
- TypeErrorسيطير ،- tسيكون- (1, 2, [30, 40])،
- (1, 2, [30, 40, 50, 60])،
- (1, 2, [30, 40]).
إجابة صحيحةTypeError سيطير ، سيكون (1, 2, [30, 40, 50, 60])
 السؤال 2
هل لديك مثل هذا الهيكل من الوحدات:
 foo_app/ snatch/ qwerty.py bar_app/ snatch/ mamamia.py 
كيفية جعله بحيث يمكنك استيراد هذه الوحدات في التعليمات البرمجية بهذه الطريقة:
 from snatch import qwerty, mamamia 
خيارات الإجابة:
السؤال 3
يوجد نص برمجي:
 class A: def get_some(self): super().get_some() class B: def get_some(self): print('Some') class C(A, B): def get_some(self): super().get_some() c = C() c.get_some() 
ماذا سيكون الناتج؟
خيارات الإجابة:
- AttributeError: 'C' object has no attribute 'get_some'،
- AttributeError: 'super' object has no attribute 'get_some'،
- Some
- الفراغ (بدون Chapaev).
السؤال 4
ما سيتم عرضه عند تشغيل هذا الرمز:
 class A: def foo(self): print('foo A') class B: def foo(self): print('foo B') class C(A, B): def foo(self): super().foo() class D(B, A): def foo(self): super().foo() class E(C, D): pass e = E() e.foo() 
خيارات الإجابة
- foo A،
- foo B،
- TypeError: Cannot create a consistent method resolution order (MRO) for bases A, B
إجابة صحيحةTypeError: Cannot create a consistent method resolution order (MRO) for bases A, B
 السؤال 5
تخيل أن لديك وحدة foo.py:
 def bar(): print(', !') 
وتقوم بتشغيل برنامج نصي آخر:
 import importlib import foo from foo import bar input(',  ') importlib.reload(foo) bar() 
أثناء انتظار الإدخال ، يمكنك تغيير وحدة foo.py:
 def bar(): print(', !') 
بعد ذلك ، تضغط على "الإدخال" في foo.py حتى تستمر في العمل وترى ...
خيارات الإجابة:
- ModuleReloadedException: method bar() was reloaded،
- , !،
- , !،
- الفراغ (ومرة أخرى لا يوجد Chapaev).
السؤال 6
ما سيتم عرضه عند تشغيل هذا الرمز:
 class A: def __init__(self): print('__init__ A', end=' ') class B: def __init__(self): print('__init__ B', end=' ') class C(A, B): pass c = C() 
خيارات الإجابة:
- __init__ A __init__ B
- __init__ B __init__ A
- __init__ A
- __init__ B
السؤال 7
ماذا سيكون في الإخراج بعد تنفيذ التعليمات البرمجية التالية؟
 def not_(value): return not value result = not_(0), all(any([not_(x) for x in range(b)]) for b in range(10)) print(result) 
خيارات الإجابة:
الملخص
سننشر إجابات على الأسئلة عن طريق تحديث المنشور يوم الأربعاء 25 يوليو. إذا قررت - ضع الإجابات تحت المفسد بحيث يكون المشاركون الآخرون أكثر اهتمامًا بحل الأسئلة.
و (!) لا تنس التحقق من حساب هبر بعد انتهاء الاختبار.