प्रोग्रामिंग में, ऑपरेटर आमतौर पर एक प्रतीक (कुंजी) होता है जो एक निश्चित ऑपरेशन जैसे कि जोड़, घटाव, तुलना आदि को करने के लिए पूर्वनिर्धारित होता है। पायथन में अलग-अलग में विभाजित बिल्ट-इन ऑपरेशन का एक बड़ा सेट होता है। अंकगणित, तुलना, बिट-वार, सदस्यता आदि जैसी श्रेणियां।
पायथन पुस्तकालय में ऑपरेटर मॉड्यूल में अंतर्निहित ऑपरेटरों के अनुरूप कार्य होते हैं। कार्यों के नाम संबंधित ऑपरेटर के प्रकार के अनुरूप हैं। उदाहरण के लिए, ऑपरेटर मॉड्यूल में ऐड () फ़ंक्शन + ऑपरेटर से मेल खाता है।
पायथन के ऑब्जेक्ट क्लास में ऑपरेटर प्रतीकों के अनुरूप डंडर (नाम के पहले और बाद में डबल अंडरस्कोर) विधियाँ हैं। ऑपरेटर ओवरलोडिंग को लागू करने के लिए उपयोगकर्ता परिभाषित कक्षाओं में इन डंडर विधियों को उपयुक्त रूप से ओवरलोड किया जा सकता है। ऑपरेटर मॉड्यूल में संबंधित डंडर फ़ंक्शन भी होते हैं। उदाहरण के लिए, जोड़ें() और साथ ही __add__() दोनों + प्रतीक के संचालन को लागू करते हैं।
शुरू करने के लिए आइए हम ऑपरेटर मॉड्यूल से फ़ंक्शन आयात करें
>>> from operator import *
अंकगणितीय ऑपरेटरों से संबंधित कार्यों के बारे में जानने के लिए, दो चरों को प्रारंभ किया जाता है
>>> a = 10 >>> b = 20
जोड़ें (), उप () और mul () +, - और * ऑपरेटरों के अनुरूप हैं। विभाजन का प्रतीक / प्रतीक truediv() फ़ंक्शन द्वारा कार्यान्वित किया जाता है।
>>> add(a,b) 30 >>> a + b 30 >>> sub(a,b) -10 >>> a - b -10 >>> mul(a,b) 200 >>> a * b 200 >>> truediv(a,b) 0.5 >>> a / b 0.5
अन्य अंकगणितीय ऑपरेटर%, ** और // ऑपरेटर मॉड्यूल से mod (), पाउ () और फ्लोरडिव () फ़ंक्शन द्वारा कार्यान्वित किए जाते हैं।
>>> a = 5 >>> b = 3 >>> a % b 2 >>> mod(a,b) 2 >>> a ** b 125 >>> pow(a,b) 125 >>> a // 2 2 >>> floordiv(a,b)
लॉजिकल ऑपरेटर्स <, <=,>,>=, ==और !=lt(), le(), gt(), ge(), eq() और ne() द्वारा कार्यान्वित किए जाते हैं। क्रमशः कार्य करें।
>>> a = 5 >>> b = 7 >>> a < b True >>> lt(a,b) True >>> a <= b True >>> le(a,b) True >>> a > b False >>> gt(a,b) False >>> a >= b False >>> ge(a,b) False >>> a == b False >>> eq(a,b) False >>> a != b True >>> ne(a,b) True
अनुक्रमों के साथ कार्य करने वाले कार्य
पायथन के बिल्ट-इन ऑपरेटर्स इन, + (कॉन्सटेनेशन) और डेल क्रमशः सम्मिलित (), कॉन्कैट (), डेलीटेम () फ़ंक्शंस द्वारा कार्यान्वित किए जाते हैं। अनुक्रमित असाइनमेंट ऑपरेटर के लिए seq[x] =y, setitem() फ़ंक्शन का उपयोग किया जाता है। seq[x] का मान प्राप्त करने के लिए, getitem() फ़ंक्शन का उपयोग किया जाता है।
>>> a = [1,2,3] >>> b = ['a','b','c'] >>> a + b #sequence concatenation [1, 2, 3, 'a', 'b', 'c'] >>> concat(a,b) [1, 2, 3, 'a', 'b', 'c'] >>> contains(a,'2') #implements in operator False >>> contains(a,2) True >>> 2 in a True >>> b[1] = 'x' #index assignment implemented by setitem() >>> b ['a', 'x', 'c'] >>> setitem(b,1,'b') >>> b ['a', 'b', 'c'] >>> a[1] #fetching value at index – implemented by getitem() 2 >>> getitem(a,1) 2 >>> del b[2] #deleting element at index. Corresponding function is delitem() >>> b ['a', 'b'] >>> delitem(a,2) >>> a [1, 2]
एक ही चरण में असाइनमेंट और गणना करने वाले ऑपरेटरों को इन-प्लेस ऑपरेटर कहा जाता है। पायथन के इन-प्लेस ऑपरेटरों को ऑपरेटर मॉड्यूल में संबंधित कार्यों द्वारा कार्यान्वित किया जाता है। +=ऑपरेटर जो ऐड और असाइन ऑपरेशन करता है, उसके पास iadd () फ़ंक्शन होता है। इसी तरह प्रत्येक ऑपरेटर फ़ंक्शन 'i' द्वारा प्रीफ़िक्स्ड इन-प्लेस समकक्ष होता है।
इन-प्लेस जोड़
>>> a = 10 >>> b = 20 >>> a = iadd(a,b) #equivalent to a += b >>> a 30
इन-प्लेस घटाव
>>> a = 10 >>> b = 20 >>> a = isub(a,b) #equivalent to a -= b >>> a -10
स्थान पर गुणन
>>> a= 10 >>> b = 20 >>> a = imul(a,b) #equivalent to a *= b >>> a 200
इन-प्लेस डिवीजन
>>> a = 10 >>> b = 4 >>> a = itruediv(a,b) >>> a 2.5
ऑपरेटर मॉड्यूल में मानक बिट-वार ऑपरेटरों को लागू करने वाले कार्य भी होते हैं
>>> and_(10,2) #equivalent to 10 & 2 2 >>> or_(10,2) #equivalent to 10 | 2 10 >>> xor(10,2) #equivalent to 10 ^ 2 8 >>> lshift(10,2) #equivalent to 10 << 2 40 >>> rshift(10,2) #equivalent to 10 >> 2 2