MaxReve نشر 28 سبتمبر 2015 أرسل تقرير نشر 28 سبتمبر 2015 إذا قمت بتنفيذ هذا السطر في البايثون:False in [False, True]فإنه سيقوم بإرجاع True وهذا واضح لأن False في القائمة، لكن لو قمت بتنفيذ هذا السطر:not(True) in [False, True] فإنه سيقوم بإرجاع False فما السبب ؟ أليس not(True) هي False ؟ اقتباس
0 هشام رزق الله نشر 28 سبتمبر 2015 أرسل تقرير نشر 28 سبتمبر 2015 من أبرز الأخطاء التي تصادف مبرمجي البايثون (خاصة المبتدئين) هي أولوية العوامل الحسابية، فإن in دائما تسبق not في التنفيذ في لغة البايثون لذلك يتم تنفيذ in قبل not، ولذلك ستكون الشيفرة البرمجية التي قمت بكتابتها مشابهة لهذا:>>> not (True in [False, True]) Falseولقد قصدت هذا:>>> (not True) in [False, True] True حاول أن لا تكتب في البايثون Not(true) حاول على الأقل كتابتها not true لأن الأولى تجعلها مشابهة لاستدعاء دالة والتي هي في الأصل عامل حسابي not وليس دالة وهذا الأمر سوف يربك الشخص الذي يقوم بقراءة شيفرتك البرمجية.المصدر اقتباس
السؤال
MaxReve
إذا قمت بتنفيذ هذا السطر في البايثون:
فإنه سيقوم بإرجاع True وهذا واضح لأن False في القائمة، لكن لو قمت بتنفيذ هذا السطر:
فإنه سيقوم بإرجاع False فما السبب ؟ أليس not(True) هي False ؟
1 جواب على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.