হ্যাঁ - ব্যবহার করুন math.nan
।
>>> from math import nan
>>> print(nan)
nan
>>> print(nan + 2)
nan
>>> nan == nan
False
>>> import math
>>> math.isnan(nan)
True
পাইথন 3.5 এর আগে, কেউ ব্যবহার করতে পারত float("nan")
(কেস সংবেদনশীল)।
নোট করুন যে দুটি জিনিস যা NaN একে অপরের সমান কিনা তা পরীক্ষা করা সর্বদা মিথ্যা হয়ে যাবে will এটি অংশ হিসাবে কারণ দুটি জিনিস যা "সংখ্যা নয়" একে একে একে একে একে একে একে একে একে একে একে একে একে একে একে একে সমপরিমাণ সমান বলা যায় না - দেখুন আইইইইই 754 ন্যান মানগুলির জন্য মিথ্যা ফিরিয়ে দেওয়া সমস্ত তুলনা করার যুক্তি কী? আরও বিশদ এবং তথ্যের জন্য।
পরিবর্তে, math.isnan(...)
কোনও মান NaN কিনা তা নির্ধারণ করার প্রয়োজন হলে ব্যবহার করুন ।
অধিকন্তু, সঠিক শব্দার্থবিদ্যা ==
NaN মূল্যের ওপর অপারেশন সূক্ষ্ম বিষয় যখন যেমন ধারক ধরনের ভিতরে দোকান NaN বের করার চেষ্টা হতে পারে list
বা dict
(অথবা যখন কাস্টম ধারক ধরনের ব্যবহার করে)। আরও তথ্যের জন্য একটি ধারকটিতে NaN উপস্থিতি পরীক্ষা করা দেখুন ।
আপনি পাইথনের দশমিক মডিউল ব্যবহার করে NaN সংখ্যাও তৈরি করতে পারেন :
>>> from decimal import Decimal
>>> b = Decimal('nan')
>>> print(b)
NaN
>>> print(repr(b))
Decimal('NaN')
>>>
>>> Decimal(float('nan'))
Decimal('NaN')
>>>
>>> import math
>>> math.isnan(b)
True
math.isnan(...)
দশমিক অবজেক্টের সাথেও কাজ করবে।
তবে, আপনি পাইথনের ভগ্নাংশ মডিউলে NaN সংখ্যা তৈরি করতে পারবেন না :
>>> from fractions import Fraction
>>> Fraction('nan')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:\Python35\lib\fractions.py", line 146, in __new__
numerator)
ValueError: Invalid literal for Fraction: 'nan'
>>>
>>> Fraction(float('nan'))
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:\Python35\lib\fractions.py", line 130, in __new__
value = Fraction.from_float(numerator)
File "C:\Python35\lib\fractions.py", line 214, in from_float
raise ValueError("Cannot convert %r to %s." % (f, cls.__name__))
ValueError: Cannot convert nan to Fraction.
উল্লেখ্য, আপনার কাছে কি করতে পারেন float('Inf')
, Decimal('Inf')
অথবা math.inf
(3.5+) অসীম সংখ্যার দায়িত্ব অর্পণ করা। (এবং আরও দেখুন math.isinf(...)
)
তবে করা Fraction('Inf')
বা Fraction(float('inf'))
অনুমোদিত নয় এবং NaN এর মতো একটি ব্যতিক্রমও ছুঁড়ে ফেলবে।
আপনি যদি কোনও নম্বর math.isfinite(...)
নাএন এবং অসীম না তা পরীক্ষা করে দেখার জন্য দ্রুত এবং সহজ উপায় চান, আপনি পাইথন ৩.২+ হিসাবে ব্যবহার করতে পারেন ।
আপনি যদি জটিল সংখ্যার সাথে একই রকম চেক করতে চান cmath
তবে math
মডিউলটিতে মডিউল হিসাবে একই ধরণের ফাংশন এবং ধ্রুবক রয়েছে :