Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Python

पायथन isinstance फंक्शन: स्टेप-बाय-स्टेप गाइड

पायथन में isinstance() फंक्शन true या false रिटर्न करता है यदि कोई वेरिएबल किसी निर्दिष्ट डेटा टाइप से मेल खाता है। पायथन में isinstance() का सिंटैक्स isinstance(variable_to_check, data_type) है।

किसी विशेष मान के डेटा टाइप की जांच करना प्रोग्रामिंग में एक सामान्य ऑपरेशन है। उदाहरण के लिए, आप जांचना चाह सकते हैं कि किसी वेरिएबल में स्टोर किया गया मान स्ट्रिंग है या नंबर क्योंकि इनमें से प्रत्येक डेटा टाइप कोड में अलग तरह से काम करता है।

यहीं isinstance() फंक्शन उपयोगी हो सकता है। isinstance() एक बिल्ट-इन पायथन मेथड है जो आपको किसी विशेष मान के डेटा टाइप को वेरिफाई करने की अनुमति देता है। उदाहरण के लिए, आप यह जांचने के लिए isinstance() का उपयोग कर सकते हैं कि कोई मान स्ट्रिंग है या लिस्ट।

यह ट्यूटोरियल आपको पायथन में isinstance() मेथड का उपयोग कैसे करें, इसके बारे में बताएगा और आपको इसे बेहतर ढंग से समझने में मदद करने के लिए कुछ उदाहरण प्रदान करेगा।

पायथन isinstance अवलोकन

जब आप पायथन में कोड करते हैं, तो आप विभिन्न प्रकार के डेटा का उपयोग करते हैं। इन डेटा टाइप्स में स्ट्रिंग्स, नंबर्स, लिस्ट्स, टपल्स, और डिक्शनरीज शामिल हैं। प्रत्येक डेटा टाइप के अपने नियमों का सेट होता है जो नियंत्रित करता है कि वह डेटा कैसे स्टोर और मैनिपुलेट किया जाता है। उदाहरण के लिए, पायथन का उपयोग करते समय, आप नंबर्स पर मैथमेटिकल कैलकुलेशन कर सकते हैं लेकिन स्ट्रिंग्स पर नहीं।

परिणामस्वरूप, यह महत्वपूर्ण है कि आप अपने प्रोग्राम में सही डेटा टाइप्स के साथ काम कर रहे हैं। आप पायथन में isinstance का उपयोग करके वेरिफाई कर सकते हैं कि आप जिस डेटा के साथ काम कर रहे हैं वह उचित डेटा टाइप के रूप में स्टोर है। पायथन का उपयोग करते समय, आवश्यकतानुसार डेटा टाइप्स की जांच करें।

isinstance() पायथन में बिल्ट-इन एक फंक्शन है जो जांचता है कि कोई मान किसी विशेष डेटा टाइप के रूप में स्टोर है या नहीं। type() मेथड के विपरीत, जिस पर इस लेख में बाद में चर्चा की गई है, isinstance() मेथड केवल True या False रिटर्न करता है, यह इस बात पर निर्भर करता है कि आप जिस मान की जांच कर रहे हैं वह आपके द्वारा निर्दिष्ट डेटा टाइप या टाइप्स के रूप में स्टोर है या नहीं।

isinstance() का सिंटैक्स इस प्रकार है:

isinstance(object, data_types)

isinstance() मेथड दो पैरामीटर लेता है, जिनमें से दोनों आवश्यक हैं:

  • object: वह ऑब्जेक्ट जिसका डेटा टाइप आप जांचना चाहते हैं।
  • data_types: ऑब्जेक्ट के संभावित डेटा टाइप्स में से कम से कम एक।

isinstance() मेथड तब आपके द्वारा निर्दिष्ट डेटा टाइप(एस) के विरुद्ध ऑब्जेक्ट की तुलना करता है। यदि आप ऑब्जेक्ट की तुलना दो या अधिक डेटा टाइप्स के विरुद्ध करना चाहते हैं, तो आपको data_types पैरामीटर के रूप में एक टपल निर्दिष्ट करना होगा।

प्रतिक्रिया में, आपका कोड True या False रिटर्न करता है। कोड True रिटर्न करता है यदि ऑब्जेक्ट आपके द्वारा निर्दिष्ट डेटा टाइप (या डेटा टाइप्स में से एक) से संबंधित है, और False यदि नहीं।

अनिवार्य रूप से, जब आप पायथन में isinstance का उपयोग करते हैं, तो आप अपने कोड को एक फिल-इन-द-ब्लैंक स्टेटमेंट और कम से कम एक उत्तर विकल्प प्रस्तुत कर रहे होते हैं। आपका स्टेटमेंट है: This object is a (data type)। डेटा टाइप पैरामीटर निर्दिष्ट करना उस स्टेटमेंट को पूरा करता है। दो उदाहरण हैं:

  • 12 एक नंबर है।
  • books एक नंबर है।

प्रतिक्रिया में, आपका कोड True या False रिटर्न करता है।

पायथन isinstance उदाहरण

आइए दो उदाहरण चलाएं ताकि दिखाया जा सके कि आप अपने कोड में isinstance() मेथड का उपयोग कैसे कर सकते हैं। मान लीजिए हमारे पास एक मान है, और हम वेरिफाई करना चाहते हैं कि मान एक स्ट्रिंग है। हम ऐसा करने के लिए isinstance() का उपयोग कर सकते हैं। यहां वह कोड है जिसका हम उपयोग कर सकते हैं:

print(isinstance("String", str))

हमारा कोड एक टाइप चेक करता है और फिर हमारा फंक्शन रिटर्न करता है: True।

क्योंकि String वास्तव में एक स्ट्रिंग है (str पायथन में string डेटा टाइप को संदर्भित करने का तरीका है) हमारा प्रोग्राम True रिटर्न करता है।

अब हम एक अधिक विस्तृत उदाहरण का पता लगाएंगे।

मान लीजिए हम सेकेंड-ग्रेड क्लास के लिए एक मल्टीप्लिकेशन गेम बना रहे हैं। हमारा गेम उपयोगकर्ता को एक मैथ प्रॉब्लम प्रस्तुत करता है, और फिर यह जांचने के लिए उपयोगकर्ता के उत्तर की जांच करता है कि वे सही हैं या नहीं। हमारे प्रोग्राम के काम करने के लिए, हमें यह सुनिश्चित करने की आवश्यकता है कि उपयोगकर्ता ने हमारे गेम में एक नंबर दर्ज किया है।

यह जांचने के लिए कि क्या खिलाड़ी से एकत्र किया गया उत्तर एक नंबर है, हम इस कोड का उपयोग कर सकते हैं:

answer = 5 * 8 user_answer = input("What is 5 x 8?") print(isinstance(user_answer, (int, float)))

हमारा कोड रिटर्न करता है: False।

आइए अपने प्रोग्राम को तोड़ दें। पहली लाइन पर, हम उस मैथ प्रॉब्लम का उत्तर कैलकुलेट करते हैं जिसे हमने खिलाड़ी को प्रस्तुत किया था। इस मामले में, वह मैथ प्रॉब्लम थी: What is 5 x 8?, इसलिए हम पहली लाइन के लिए answer = 5 * 8 इनपुट करते हैं।

फिर, हम उपयोगकर्ता से उत्तर प्राप्त करने के लिए input() मेथड का उपयोग करते हैं।

हमारे कोड की अंतिम लाइन पर, हम isinstance() का उपयोग यह जांचने के लिए करते हैं कि क्या हमारे उपयोगकर्ता का उत्तर (user_answer में स्टोर) या तो इंटीजर या फ्लोट है, जो पायथन में नंबरों को दर्शाने के लिए उपयोग किए जाने वाले दो डेटा टाइप्स हैं। हम एक टपल बनाकर ऐसा करते हैं जो उन डेटा टाइप्स को स्टोर करता है जिनके विरुद्ध हम अपने मान की जांच करना चाहते हैं। हमारे कोड में, यह टपल है: (int, float)।

हमारा कोड False रिटर्न करता है, जो हमें बताता है कि उपयोगकर्ता का उत्तर न तो इंटीजर (int) है और न ही फ्लोट।

अब जब हम जानते हैं कि हमारा ऑब्जेक्ट int या float का इंस्टेंस नहीं है, तो हम समस्या का निदान करना शुरू कर सकते हैं। हमारा कोड False रिटर्न करता है क्योंकि input() डिफ़ॉल्ट रूप से हमें एक स्ट्रिंग देता है, भले ही उपयोगकर्ता कोई नंबर दर्ज करे। इसलिए, हमारे कोड के काम करने के लिए, हमें अपने input() मेथड के परिणाम को इंटीजर में बदलने की आवश्यकता है। हम निम्न कोड का उपयोग करके ऐसा कर सकते हैं:

answer = 5 * 8 user_answer = int(input("What is 5 x 8?")) print(isinstance(user_answer, (int, float)))

अब जब हम अपना कोड चलाते हैं, तो हमें मिलता है: True।

इस उदाहरण और पिछले उदाहरण के बीच एकमात्र अंतर यह है कि, इस कोड में, user_answer लाइन पर, हम int() का उपयोग करके अपने input() मेथड के परिणाम को इंटीजर में बदलते हैं। इसलिए, प्रोग्राम इनपुट को स्ट्रिंग के बजाय इंटीजर के रूप में रजिस्टर करता है। इसलिए, जब हम isinstance() मेथड का उपयोग करके इस मान के डेटा टाइप की जांच करते हैं, तो हमारा प्रोग्राम वेरिफाई करता है कि मान या तो इंटीजर या फ्लोट है।

उपरोक्त उदाहरण में, हमने जांचा कि क्या कोई ऑब्जेक्ट किसी विशेष बिल्ट-इन डेटा टाइप को रखता है। isinstance() मेथड का उपयोग किसी ऑब्जेक्ट की तुलना किसी विशेष क्लास के साथ करने के लिए भी किया जा सकता है।

type बनाम isinstance

यदि आपको कभी पायथन में किसी मान के टाइप की जांच करने की आवश्यकता पड़ी है, तो आप type() मेथड के बारे में जान सकते हैं। type() एक बिल्ट-इन पायथन फंक्शन है जिसका उपयोग किसी वेरिएबल या मान के टाइप का पता लगाने के लिए किया जा सकता है। पायथन type मेथड का सिंटैक्स यहां दिया गया है:

type(data)

उदाहरण के लिए, मान लीजिए आपके पास एक नंबर है और आप जांचना चाहते हैं कि यह किस डेटा टाइप के रूप में कोडेड है। आप निम्न कोड का उपयोग करके ऐसा कर सकते हैं:

number = 8 print(type(number))

हमारा कोड रिटर्न करता है:

<class 'int'>

जैसा कि आप देख सकते हैं, हमारा प्रोग्राम हमारे डेटा का टाइप रिटर्न करता है। यह हमें बताता है कि यह डेटा इंटीजर के रूप में स्टोर है।

type() और isinstance() फंक्शन्स के बीच एक बड़ा अंतर है जो एक को दूसरे की तुलना में कुछ परिस्थितियों में अधिक उपयुक्त बनाता है। यदि आप किसी मान का डेटा टाइप देखना चाहते हैं, तो type() अधिक उपयुक्त हो सकता है। लेकिन, यदि आप वेरिफाई करना चाहते हैं कि कोई मान किसी निश्चित डेटा टाइप या टाइप्स के रूप में स्टोर है - जैसे स्ट्रिंग या फ्लोट - तो आपको isinstance() का उपयोग करना चाहिए।

निष्कर्ष

पायथन में, आप किसी मान में कोई विशेष डेटा टाइप है या नहीं यह वेरिफाई करने के लिए isinstance() फंक्शन का उपयोग कर सकते हैं। उदाहरण के लिए, यदि आप वेरिफाई करना चाहते हैं कि मानों की एक सूची लिस्ट के रूप में स्टोर है, या कोई नंबर फ्लोट के रूप में स्टोर है, तो आप isinstance() का उपयोग कर सकते हैं।

इस पायथन ट्यूटोरियल ने दिखाया कि किसी मान में कोई निश्चित डेटा टाइप है या नहीं यह वेरिफाई करने के लिए isinstance() का उपयोग कैसे करें। अब आपके पास isinstance() का उपयोग पायथन मास्टर की तरह करने के लिए आवश्यक जानकारी है।

  1. पायथन इंटरप्रेटर्स: एक चरण-दर-चरण गाइड पायथन इंटरप्रेटर्स: एक चरण-दर-चरण गाइड

    पायथन प्रोग्राम कैसे एक्जीक्यूट होता है? पायथन, जावा की तरह, पूरी तरह से इंटरप्रेटेड भाषा के रूप में वर्गीकृत नहीं किया जा सकता और न ही कंपाइल्ड भाषा के रूप में। यह दोनों का थोड़ा सा है। कंपाइल्ड होने का मतलब इस उदाहरण में है किसी प्लेटफॉर्म पर निर्भर न करने वाली निचले स्तर की भाषा में अनुवादित होन

  1. - पायथन पावर: चरण-दर-चरण गाइड

    पायथन पावर: चरण-दर-चरण गाइड ** ऑपरेटर और pow() फ़ंक्शन पायथन में किसी संख्या की घात की गणना करते हैं। ** ऑपरेटर बाईं ओर की संख्या को दाईं ओर की संख्या की घात तक बढ़ाता है। pow() फ़ंक्शन पहले पैरामीटर को दूसरे पैरामीटर की घात तक बढ़ाता है। किसी संख्या की घात की गणना करना एक सामान्य गणितीय संक्रिया ह

  1. - पायथन फाइल का नाम बदलें: चरण-दर-चरण गाइड

    पायथन फाइल का नाम बदलें: चरण-दर-चरण गाइड पायथन os.rename() विधि फाइल का नाम बदलती है। os.rename() दो तर्क स्वीकार करती है: पुरानी फाइल का पथ और नई फाइल का पथ। नए फाइल पथ का अंत एक अलग फाइल नाम में होना चाहिए। जब आप पायथन में फाइलों के साथ काम कर रहे होते हैं, तो आप तय कर सकते हैं कि आप किसी विशेष फ