سؤال

أكتب امتداد ثعبان لتوفير إمكانية الوصول إلى بيانات Solaris Kstat (بنفس الروح مثل The Shipping Perl Library Sun :: Solaris :: Kstat) ولدي سؤال حول إرجاع قائمة أو كائن واحد. ستبدو حالة استخدام بيثون شيئا مثل:

 cpu_stats = ckstats.lookup (الوحدة النمطية = 'cpu_stat') cpu_stat0 = ckstats.lookup ('cpu_stat'، 0، 'cpu_stat0')

نظرا لأنها نفذت حاليا، فإن البحث () () إرجاع قائمة بجميع كائنات KSTAT التي تطابق. من شأن الحالة الأولى أن تؤدي إلى قائمة الكائنات (أكبر عدد ممكن من وحدات المعالجة المركزية) وتحتوي الدعوة الثانية على KSTAT واحدة تماما وستعيد قائمة تحتوي على كستات واحد.

سؤالي هو شكل ضعيف لإرجاع كائن واحد عندما تكون هناك تطابق واحد فقط، وقائمة عندما يكون هناك الكثير؟

شكرا لك على الإجابة المدروسة! بيثون فو بلدي ضعيف ولكنه ينمو أقوى بسبب الناس مثلك.

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

المحلول

"سؤالي هو شكل ضعيف لإرجاع كائن واحد عندما تكون هناك تطابق واحد فقط، وقائمة عندما يكون هناك الكثير؟"

إنه شكل ضعيف للعودة أنواع غير متناسقة.

إرجاع نوع ثابت: قائمة كستات.

معظم pythonistas لا تحب استخدام type(result) لتحديد ما إذا كانت كستات أو قائمة KSTATS.

كلنا نتحقق من طول القائمة بطريقة بسيطة ومتسقة.

أيضا، إذا كان الطول يعتمد على قطعة من معلومات النظام، فربما يمكن أن توفر طريقة API هذه بيانات التعريف هذه.

ينظر الى DB-API PEP للحصول على المشورة والأفكار حول كيفية التعامل مع الأشياء التي تشبه الاستعلام.

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