القيمة والنوع الأصليان متساويان، لكن وصف النوع المعاد اختلف بين المدخل بلا محاور والمتجه المفرد.
وصف النوع المعاد
تعيد min_scalar_type نوع المصفوفة ذات المحاور دون تغييره، ويكون الناتج وصف نوع. [1] [2]
نفس القيمة في شكلين
شغّلنا NumPy 2.3.5 على CPython 3.12.14؛ أنشأنا العدد 173 من uint16 بالشكل ()، ثم [173] بالنوع نفسه والشكل (1,).
الأعداد مؤلفة. ننشئ المدخلين صراحة؛ لا نستخرج العدد من المتجه لبناء المدخل الآخر، ولا نحول أي منهما أثناء هذه المقارنة.
نوع أصغر دون تحويل المدخل
رجعت uint8 للمدخل بلا محاور، وuint16 للمتجه؛ بقيت بايتات المدخلين ونوعهما وشكلهما وقيمتهما دون تغيير.
a=np.array(173,dtype=np.uint16) b=np.array([173],dtype=np.uint16) print(np.min_scalar_type(a),np.min_scalar_type(b))
وصف uint8 الذي رجع للأول ليس مصفوفة بديلة من ذلك النوع. بقي الأصل uint16؛ لم ننفذ astype أو نعد كتابة تخزينه.

تحكم وحدود
تحكم مستقل بالعدد 611 رجع uint16 في الشكلين؛ عدم وجود محاور لا يضمن نوعًا أصغر لكل قيمة.
مرت 514 حالة و1028 نداءً: شبكة من صفر إلى 511، مع المثال والتحكم. راجعنا اسم وصف النوع وفئته وحجم عنصره وثبات المدخل.
في التنفيذ المقروء، وجود محور يعيد وصف المدخل مباشرة؛ مسار العدد بلا محاور يختار وصفًا بحسب قيمته. [2]
مرجع Python يقارن العدد غير السالب مع 2**8=256: المجال من صفر إلى 255 يدخل في ثمانية بتات غير موقعة. للمدخل بلا محاور توقعنا uint8 داخل هذا المجال وuint16 خارجه في نطاقنا؛ وللمتجه توقعنا uint16 المعلن. لم يستخدم المرجع min_scalar_type لبناء توقعاته.
في وصف النوع المعاد رُصدت الفئة u، وحجم عنصر 1 بايت مع uint8 و2 مع uint16. هذا وصف للنوع؛ لم نقس تخصيصًا أو توفيرًا في الذاكرة، ولم تتغير بايتات المصفوفتين.
الشبكة تضم 512 عددًا من صفر إلى 511 شاملًا. أضفنا المثال 173 وتحكمًا مستقلًا 611، فصارت 514 حالة بمدخلين جديدين لكل حالة: 1028 نداءً. تكرار 173 بوصفه المثال معلن ولا يضيف عددًا فريدًا إلى الشبكة.
اقتصر التنفيذ على uint16 متجاور بالشكلين () و(1,). لم نفحص مدخل Python مفردًا أو قيمًا سالبة أو أنواعًا عائمة أو مركبة أو منطقية أو مخصصة أو الفراغ أو أكثر من عنصر أو محاور أعلى أو ترقية الحساب أو تحويلًا أو أداءً أو إصدارات أخرى.
| العدد | الشكل | وصف النوع المعاد |
|---|---|---|
| 173 | () | uint8 |
| 173 | (1,) | uint16 |
| 611 | () / (1,) | uint16 |
للتوسع: شكل القيمة الواحدة.
المراجع
أُعدّ هذا المقال بمساعدة الذكاء الاصطناعي، وخضع لمراجعة ذاتية بالأداة نفسها. لا يُنسب إلى مراجع بشري أو خبير مستقل. منهجية المحتوى.
