سؤال

هذا السؤال أصلا طلب (خطأ) ما يفعل "|" يعني في بيثون، عندما كان السؤال الفعلي حول جانغو. كان هذا السؤال إجابة رائعة من ثلاثية أريد أن الحفاظ عليها.

هل كانت مفيدة؟

المحلول

في بيثون، يتم تعريف المشغل '|' افتراضيا على أنواع صحيحة وتعيين أنواع.

إذا المعاملات هما الأعداد الصحيحة، بعد ذلك سوف إجراء أحادي المعامل أو ، التي هو عملية حسابية.

إذا المعاملات هما أنواع set، فإن المشغل '|' عودة اتحاد مجموعتين.

a = set([1,2,3])
b = set([2,3,4])
c = a|b  # = set([1,2,3,4])

وبالإضافة إلى ذلك، والمؤلفين قد تحدد السلوك مشغل لأنواع مخصصة، حتى إذا something.property هو كائن المعرفة من قبل المستخدم، يجب عليك التحقق من أن تعريف الفئة لطريقة __or__()، والتي سوف تحدد السلوك في نموذج التعليمات البرمجية الخاصة بك.

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

نصائح أخرى

والمختصة بالبت OR

وكان من الممكن أيضا أن تكون "خداع" في أنبوب مثل في شل يونكس، انظر هنا HTTP : //code.google.com/p/python-pipeline/

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top