निर्धारित करें कि क्या कोई संख्या पायथन में एक पूर्णांक या दशमलव है।
निम्नलिखित मामलों को नमूना कोड के साथ समझाया गया है।
- निर्धारित करता है कि कोई संख्या एक पूर्णांक int है या एक फ़्लोटिंग-पॉइंट फ्लोट:
isinstance()
- निर्धारित करता है कि फ्लोट प्रकार संख्या एक पूर्णांक है (0 दशमलव स्थान):
float.is_integer()
- निर्धारित करता है कि कोई संख्या स्ट्रिंग एक पूर्णांक है
दशमलव संख्या के पूर्णांक और दशमलव मान प्राप्त करने के लिए, निम्न आलेख देखें।
यह निर्धारित करने के बारे में जानकारी के लिए निम्न आलेख देखें कि क्या स्ट्रिंग एक संख्या है (चीनी अंकों आदि सहित) यह एक पूर्णांक या दशमलव है या नहीं।
निर्धारित करता है कि कोई संख्या एक पूर्णांक या फ़्लोटिंग पॉइंट प्रकार है:isinstance()
किसी ऑब्जेक्ट का प्रकार बिल्ट-इन फ़ंक्शन प्रकार () के साथ प्राप्त किया जा सकता है।
i = 100
f = 1.23
print(type(i))
print(type(f))
# <class 'int'>
# <class 'float'>
isinstance(object, type)
इस अंतर्निहित फ़ंक्शन का उपयोग यह निर्धारित करने के लिए किया जा सकता है कि कोई वस्तु किसी विशेष प्रकार की है या नहीं। इसका उपयोग यह निर्धारित करने के लिए किया जा सकता है कि कोई संख्या एक पूर्णांक या फ़्लोटिंग पॉइंट प्रकार है या नहीं।
print(isinstance(i, int))
# True
print(isinstance(i, float))
# False
print(isinstance(f, int))
# False
print(isinstance(f, float))
# True
इस मामले में, यह केवल प्रकार का न्याय करता है, इसलिए यह न्याय नहीं कर सकता कि फ्लोट प्रकार का मान एक पूर्णांक (0 के दशमलव बिंदु के साथ) है या नहीं।
f_i = 100.0
print(type(f_i))
# <class 'float'>
print(isinstance(f_i, int))
# False
print(isinstance(f_i, float))
# True
निर्धारित करता है कि फ्लोट प्रकार संख्या एक पूर्णांक है (0 दशमलव स्थान):float.is_integer()
फ्लोट प्रकार के लिए is_integer() विधि प्रदान की जाती है, जो मान एक पूर्णांक और अन्यथा गलत होने पर सत्य लौटाता है।
f = 1.23
print(f.is_integer())
# False
f_i = 100.0
print(f_i.is_integer())
# True
उदाहरण के लिए, एक फ़ंक्शन जो एक पूर्णांक संख्या के लिए सत्य लौटाता है, उसे निम्नानुसार परिभाषित किया जा सकता है, दूसरी ओर, एक स्ट्रिंग प्रकार गलत होगा।
def is_integer_num(n):
if isinstance(n, int):
return True
if isinstance(n, float):
return n.is_integer()
return False
print(is_integer_num(100))
# True
print(is_integer_num(1.23))
# False
print(is_integer_num(100.0))
# True
print(is_integer_num('100'))
# False
निर्धारित करता है कि कोई संख्या स्ट्रिंग एक पूर्णांक है
यदि आप यह निर्धारित करना चाहते हैं कि पूर्णांक अंकों की एक स्ट्रिंग भी एक पूर्णांक है, तो निम्नलिखित कार्य संभव हैं।
उन मानों के लिए जिन्हें फ्लोट () के साथ फ्लोट प्रकार में परिवर्तित किया जा सकता है, फ्लोट में रूपांतरण के बाद is_integer () विधि लागू की जाती है और परिणाम वापस कर दिया जाता है।
def is_integer(n):
try:
float(n)
except ValueError:
return False
else:
return float(n).is_integer()
print(is_integer(100))
# True
print(is_integer(100.0))
# True
print(is_integer(1.23))
# False
print(is_integer('100'))
# True
print(is_integer('100.0'))
# True
print(is_integer('1.23'))
# False
print(is_integer('string'))
# False
स्ट्रिंग्स को संख्याओं में बदलने के विवरण के लिए निम्न आलेख देखें।
स्ट्रिंग एक संख्या है या नहीं (चीनी अंकों आदि सहित) यह निर्धारित करने के विवरण के लिए निम्न आलेख देखें।