जब आप कंडीशनल स्टेटमेंट्स के साथ काम कर रहे होते हैं, तो आप स्टेटमेंट में एक से अधिक तुलना करना चाह सकते हैं। उदाहरण के लिए, आप जांचना चाह सकते हैं कि क्या दो स्टेटमेंट्स True का मूल्यांकन करते हैं, या दो स्टेटमेंट्स में से कोई एक False का मूल्यांकन करता है।
यहीं पायथन लॉजिकल ऑपरेटर्स काम आते हैं। लॉजिकल ऑपरेटर्स ऑपरेटर्स का एक विशेष प्रकार है जो आपको कंडीशनल स्टेटमेंट में एक से अधिक लॉजिकल तुलना करने की अनुमति देता है।
यह ट्यूटोरियल उदाहरणों के साथ, ऑपरेटर्स की मूल बातें और पायथन में दिए गए तीन लॉजिकल ऑपरेटर्स का उपयोग कैसे करें, इस पर चर्चा करेगा।
पायथन ऑपरेटर्स
एक ऑपरेटर एक प्रतीक है जो पायथन में एक विशेष ऑपरेशन को इंगित करता है। उदाहरण के लिए, माइनस साइन (-) ऑपरेटर एक सब्ट्रैक्शन ऑपरेशन को इंगित करता है।
पायथन में, तीन अलग-अलग प्रकार के ऑपरेटर्स हैं। ये हैं:
- अरिथमेटिक ऑपरेटर्स: ये आपको प्रोग्राम में मैथमेटिकल ऑपरेशन करने की अनुमति देते हैं।
- कंपेरिजन ऑपरेटर्स: ये आपको मानों की तुलना करने की अनुमति देते हैं, और True या False रिटर्न करते हैं।
- लॉजिकल ऑपरेटर्स: ये आपको कंडीशनल स्टेटमेंट्स को संयोजित करने की अनुमति देते हैं।
दूसरे दो ऑपरेटर्स - कंपेरिजन और लॉजिकल - प्रोग्रामर्स को प्रोग्राम के फ्लो को बेहतर ढंग से नियंत्रित करने की अनुमति देते हैं। उदाहरण के लिए, आप किसी शर्त की जांच करने के लिए कंपेरिजन ऑपरेटर का उपयोग कर सकते हैं कि यह True है या नहीं, और यदि यह है, तो अपने प्रोग्राम में कोड का एक निश्चित ब्लॉक चलाएं।
कंपेरिजन और लॉजिकल ऑपरेटर्स अक्सर if स्टेटमेंट के साथ उपयोग किए जाते हैं। उदाहरण के लिए, मान लीजिए हम जांचना चाहते थे कि ऑनलाइन शॉपिंग साइट का उपयोगकर्ता 16 या उससे अधिक उम्र का था। हम इसे इस कोड का उपयोग करके कर सकते थे:
age = 17 if age >= 16: print("User is 16 or over!") else: print("User is under 16!")
हमारा कोड रिटर्न करता है: User is 16 or over!
इस प्रोग्राम में, हमने उपयोगकर्ता की उम्र की तुलना करने के लिए एक कंपेरिजन ऑपरेटर का उपयोग किया, जो इस मामले में 17 के बराबर है, चाहे वह 16 से अधिक या बराबर हो। क्योंकि 17, 16 से अधिक है, यह स्टेटमेंट True का मूल्यांकन करता है, और संदेश User is 16 or over! कंसोल पर प्रिंट होता है।
लेकिन क्या होगा अगर हम if स्टेटमेंट में कई तुलनाएं चलाना चाहते हैं? यहीं लॉजिकल ऑपरेटर्स काम आते हैं।
पायथन लॉजिकल ऑपरेटर्स
पायथन तीन लॉजिकल ऑपरेटर्स प्रदान करता है जो आपको मानों की तुलना करने की अनुमति देते हैं।
ये लॉजिकल ऑपरेटर्स एक्सप्रेशन्स को बूलियन मानों में मूल्यांकन करते हैं, और ऑपरेटर के परिणाम के आधार पर True या False रिटर्न करते हैं। पायथन द्वारा प्रदान किए गए तीन लॉजिकल ऑपरेटर्स इस प्रकार हैं:
| नाम | विवरण | उदाहरण |
|---|---|---|
| and | True यदि दोनों एक्सप्रेशन्स सत्य हैं | a and b |
| or | True यदि कम से कम एक एक्सप्रेशन सत्य है | a or b |
| not | True केवल यदि एक्सप्रेशन असत्य है | not a |
लॉजिकल ऑपरेटर्स का उपयोग आमतौर पर यह मूल्यांकन करने के लिए किया जाता है कि दो या अधिक एक्सप्रेशन्स एक निश्चित तरीके से मूल्यांकन करते हैं या नहीं।
आइए कुछ उदाहरणों का पता लगाएं ताकि यह दिखाया जा सके कि ये लॉजिकल ऑपरेटर्स कैसे काम करते हैं। हम पहले के अपने ऑनलाइन शॉपिंग उदाहरण पर लौटेंगे।
पायथन and ऑपरेटर
and ऑपरेटर True का मूल्यांकन करता है यदि निर्दिष्ट सभी एक्सप्रेशन्स True का मूल्यांकन करते हैं।
मान लीजिए हम एक ऑनलाइन शॉपिंग साइट बना रहे हैं। हमारी साइट को यह जांचना चाहिए कि उपयोगकर्ता 16 से अधिक उम्र का है, और यह भी सुनिश्चित करना चाहिए कि उपयोगकर्ता का अकाउंट गुड स्टैंडिंग में है। ऐसा करने के लिए, हम इस कोड का उपयोग कर सकते हैं:
age = 17 good_standing = True if (age >= 16) and (good_standing == True): print("This user's account can make a purchase.") else: print("This user's account cannot make a purchase.")
हमारा कोड रिटर्न करता है: This user’s account can make a purchase.
हमारे कोड में, हमने यह मूल्यांकन करने के लिए एक and स्टेटमेंट का उपयोग किया है कि उपयोगकर्ता 16 या उससे अधिक उम्र का है, और यह मूल्यांकन करने के लिए कि उपयोगकर्ता का अकाउंट गुड स्टैंडिंग में है। इस मामले में, age >= 16 का मूल्यांकन किया जाता है, फिर good_standing == True का मूल्यांकन किया जाता है। चूंकि ये दोनों स्टेटमेंट्स True का मूल्यांकन करते हैं, हमारे if स्टेटमेंट की सामग्री निष्पादित होती है।
यदि इनमें से कोई भी शर्त False का मूल्यांकन करती है - यदि उपयोगकर्ता 16 से कम उम्र का है, या उसका अकाउंट गुड स्टैंडिंग में नहीं है - तो हमारे else स्टेटमेंट की सामग्री निष्पादित होती।
पायथन or ऑपरेटर
or ऑपरेटर True का मूल्यांकन करता है यदि कम से कम एक एक्सप्रेशन True का मूल्यांकन करता है।
मान लीजिए हम अपने लॉयल्टी प्लान की सदस्यता लेने वाले सभी खरीदारों को 5% डिस्काउंट देना चाहते हैं, और खरीदारी करने वाले 65 या उससे अधिक उम्र के सभी लोगों को डिस्काउंट देना चाहते हैं। ऐसा करने के लिए, हम निम्न प्रोग्राम का उपयोग कर सकते हैं:
loyalty_plan = False age = 67 if (loyalty_plan == True) or (age >= 65): discount = 5 else: discount = 0 print("Shopper discount: ", discount)
हमारा कोड रिटर्न करता है: Shopper discount: 5.
इस मामले में, हमारा कोड मूल्यांकन करता है कि loyalty_plan True के बराबर है या नहीं, और यह भी मूल्यांकन करता है कि age 65 के बराबर या उससे अधिक है या नहीं। इस मामले में, loyalty_plan True के बराबर नहीं है, इसलिए वह स्टेटमेंट False का मूल्यांकन करता है। लेकिन, age 65 से अधिक है, और इसलिए वह स्टेटमेंट True का मूल्यांकन करता है।
क्योंकि हमने अपने कोड में एक or स्टेटमेंट निर्दिष्ट किया और हमारी शर्तों में से एक True का मूल्यांकन करती है, हमारे if स्टेटमेंट की सामग्री चलाई गई। हालांकि, यदि हमारा उपयोगकर्ता हमारे लॉयल्टी प्लान पर नहीं था और 65 से कम उम्र का था, तो हमारे else स्टेटमेंट की सामग्री चलाई जाती।
इस मामले में, हमारे उपयोगकर्ता को 5% का डिस्काउंट दिया गया। फिर, संदेश Shopper discount: , उसके बाद उपयोगकर्ता के डिस्काउंट का आकार, कंसोल पर प्रिंट किया गया।
पायथन not ऑपरेटर
not ऑपरेटर केवल तभी True का मूल्यांकन करता है जब कोई एक्सप्रेशन False का मूल्यांकन करता है।
मान लीजिए हमारे डिस्काउंट्स का उपयोग केवल एक बार किया जाना है, और हम केवल उन ग्राहकों को डिस्काउंट देना चाहते हैं जिन्होंने अपने डिस्काउंट का उपयोग करके पहले से खरीदारी नहीं की है। हम इसे इस कोड का उपयोग करके कर सकते हैं:
used_discount = True if not(used_discount == True): print("This user has not used their discount.") else: print("This user has used their discount.")
हमारा कोड रिटर्न करता है: This user has not used their discount.
हमारे कोड में, हमने यह मूल्यांकन करने के लिए एक not स्टेटमेंट का उपयोग किया कि स्टेटमेंट used_discount == True False का मूल्यांकन करता है या नहीं। इस मामले में, क्योंकि स्टेटमेंट True का मूल्यांकन करता है, स्टेटमेंट not False का मूल्यांकन करता है। इसके परिणामस्वरूप हमारे else ब्लॉक में कोड निष्पादित होता है।
यदि हमारे उपयोगकर्ता ने अपने डिस्काउंट का उपयोग नहीं किया होता, तो used_discount == True False का मूल्यांकन करता, इसलिए हमारा not स्टेटमेंट True का मूल्यांकन करता, और हमारे if स्टेटमेंट की सामग्री निष्पादित होती।
निष्कर्ष
लॉजिकल ऑपरेटर्स आपको अपने प्रोग्राम के फ्लो को नियंत्रित करने की अनुमति देते हैं।
and लॉजिकल ऑपरेटर आपको जांचने की अनुमति देता है कि दो एक्सप्रेशन्स True हैं, or लॉजिकल ऑपरेटर आपको जांचने की अनुमति देता है कि कई एक्सप्रेशन्स में से एक True है, और not ऑपरेटर आपको जांचने की अनुमति देता है कि कोई एक्सप्रेशन False है।
इस लेख में प्रदान किए गए उदाहरणों के साथ, आप अपने पायथन कोड में लॉजिकल ऑपरेटर्स का उपयोग एक विशेषज्ञ की तरह शुरू करने के लिए आवश्यक हर चीज से लैस हैं!