<p>numpy.int64 ليس مثيلاً لـ int</p>

تم إنشاؤها على ٢٧ يناير ٢٠١٣  ·  4تعليقات  ·  مصدر: numpy/numpy

كما ورد في xlwt :

فيما يلي فحص للسلوك غير المترابط (Python 2.7.3 ، numpy 1.6.2)

>>> import numpy
>>> data = [t(123456) for t in (numpy.int32, numpy.int64, numpy.float64)]
>>> [type(d) for d in data]
[<type 'numpy.int32'>, <type 'numpy.int64'>, <type 'numpy.float64'>]
>>> data
[123456, 123456, 123456.0]
>>> check_types = (int, long, float)
>>> for d in data:
...     for c in check_types:
...         print type(d), repr(c), isinstance(d, c)
...
<type 'numpy.int32'> <type 'int'> True
<type 'numpy.int32'> <type 'long'> False
<type 'numpy.int32'> <type 'float'> False
<type 'numpy.int64'> <type 'int'> False
<type 'numpy.int64'> <type 'long'> False
<type 'numpy.int64'> <type 'float'> False
<type 'numpy.float64'> <type 'int'> False
<type 'numpy.float64'> <type 'long'> False
<type 'numpy.float64'> <type 'float'> True
>>>

يبدو أن numpy قد أنجز العمل لجعله يتعرف على int32 و float64 بواسطة برامج أخرى ولكن ليس int64.

Proposal numpy.core

التعليق الأكثر فائدة

هذا صحيح - python 'int' إما 32 أو 64 بت (اعتمادًا على ملف
يبني؛ أنت تستخدم python 32 بت) ، لذلك إما np.int32 أو np.int64
مشتق منه. np.float32 ليس مثيلًا لـ "float" أيضًا ، لأن
بالمثل يتم تخزين Python 'float' بدقة مزدوجة.

(حقًا حتى هذا سخيف لأن numpy ints _ ليست _ مثيلاً لـ 'int'
أو "تطفو" ، لكن أيا كان.)

isinstance (...، int) هي الأداة الخاطئة لما تحاول القيام به. اذا أنت
تريد اكتشاف الأعداد الصحيحة بشكل عام باستخدام أنواع numpy ، أبسط شيء
do isinstance (...، np. صحيحة).

يوم السبت ، 26 كانون الثاني (يناير) 2013 الساعة 8:15 مساءً ، كتب دانيال فيانا [email protected] :

كما ورد في xlwt https://github.com/python-excel/xlwt/issues/15 :

فيما يلي فحص للسلوك غير المترابط (Python 2.7.3 ، numpy 1.6.2)

استيراد numpy >>> data = [t (123456) for t in (numpy.int32، numpy.int64، numpy.float64)] >>> [type (d) for d in data] [وو] >>> البيانات [123456، 123456، 123456.0] >>> check_types = (int، long، float) >>> لـ d في البيانات: ... لأنواع c in check : ... print type (d)، repr (c)، isinstance (d، c) ....حقيقيخاطئةخاطئةخاطئةخاطئةخاطئةخاطئةخاطئةصحيح >>>

يبدو أن numpy قد أنجز العمل لجعله int32 و float64
يمكن التعرف عليها من قبل برامج أخرى ولكن ليس int64.

-
يمكنك الرد على هذه الرسالة الإلكترونية مباشرةً أو عرضها على Gi tHubhttps: //github.com/numpy/numpy/issues/2951.

ال 4 كومينتر

هذا صحيح - python 'int' إما 32 أو 64 بت (اعتمادًا على ملف
يبني؛ أنت تستخدم python 32 بت) ، لذلك إما np.int32 أو np.int64
مشتق منه. np.float32 ليس مثيلًا لـ "float" أيضًا ، لأن
بالمثل يتم تخزين Python 'float' بدقة مزدوجة.

(حقًا حتى هذا سخيف لأن numpy ints _ ليست _ مثيلاً لـ 'int'
أو "تطفو" ، لكن أيا كان.)

isinstance (...، int) هي الأداة الخاطئة لما تحاول القيام به. اذا أنت
تريد اكتشاف الأعداد الصحيحة بشكل عام باستخدام أنواع numpy ، أبسط شيء
do isinstance (...، np. صحيحة).

يوم السبت ، 26 كانون الثاني (يناير) 2013 الساعة 8:15 مساءً ، كتب دانيال فيانا [email protected] :

كما ورد في xlwt https://github.com/python-excel/xlwt/issues/15 :

فيما يلي فحص للسلوك غير المترابط (Python 2.7.3 ، numpy 1.6.2)

استيراد numpy >>> data = [t (123456) for t in (numpy.int32، numpy.int64، numpy.float64)] >>> [type (d) for d in data] [وو] >>> البيانات [123456، 123456، 123456.0] >>> check_types = (int، long، float) >>> لـ d في البيانات: ... لأنواع c in check : ... print type (d)، repr (c)، isinstance (d، c) ....حقيقيخاطئةخاطئةخاطئةخاطئةخاطئةخاطئةخاطئةصحيح >>>

يبدو أن numpy قد أنجز العمل لجعله int32 و float64
يمكن التعرف عليها من قبل برامج أخرى ولكن ليس int64.

-
يمكنك الرد على هذه الرسالة الإلكترونية مباشرةً أو عرضها على Gi tHubhttps: //github.com/numpy/numpy/issues/2951.

أيضًا ، في Python 3 ، لا يرتبط أي من أنواع الأعداد الصحيحة Numpy بنوع int الأصلي (وهو عدد صحيح متغير الحجم).

أعتقد أن ناثانيال كان محقًا تمامًا في ملاحظته حول التقرير الأصلي. يجب أن يرث Numpy / يسجل numbers.Integral وما إلى ذلك ، وهو ما يتناسب تمامًا مع إسقاط python 2.4 و 2.5. إذا أراد أي شخص التعرف على عدد صحيح من إبداءات الإعجاب ، فيجب أن يتحقق من numbers.Integral (أو ربما يجرب البطة المماثلة التي تكتب طريقة __index__ ) على أي حال.

اعتبارًا من # 4547 و 1.9.0 ، يسجل numpy الأرقام باستخدام وحدة الأرقام. إغلاق هذا على النحو ذي الصلة.

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات

القضايا ذات الصلة

astrofrog picture astrofrog  ·  4تعليقات

inducer picture inducer  ·  3تعليقات

keithbriggs picture keithbriggs  ·  3تعليقات

Kreol64 picture Kreol64  ·  3تعليقات

perezpaya picture perezpaya  ·  4تعليقات