Python में Operators (हिंदी)
Operator ऐसे प्रतीक या कीवर्ड होते हैं जो वैरिएबल्स और वैल्यूज़ पर ऑपरेशन करते हैं — जैसे गणित, तुलना, तार्किक परीक्षण, बिट-स्तरीय संचालन आदि। यह लेख Python के सभी मुख्य ऑपरेटर प्रकारों को गहराई से समझाएगा।
a = 10; b = 5; print(a + b) — यहाँ + एक ऑपरेटर है जो दो मानों को जोड़ता है।
Python में ऑपरेटरों के प्रकार
| प्रकार | वर्णन | उदाहरण |
|---|---|---|
| Arithmetic (गणितीय) | गणितीय ऑपरेशन | +, -, *, /, //, %, ** |
| Comparison (तुलन) | दो मानों की तुलना | ==, !=, >, <, >=, <= |
| Logical (तार्किक) | कंडीशन्स जोड़ना | and, or, not |
| Assignment (असाइन) | वैरिएबल में मान असाइन/अपडेट करना | =, +=, -=, *=, /=, //=, %=, **= |
| Bitwise (बिट-स्तरीय) | बिट पर काम | &, |, ^, ~, <<, >> |
| Identity (पहचान) | ऑब्जेक्ट की मेमोरी पहचान | is, is not |
| Membership (सदस्यता) | सिक्वेंस में सदस्यता जाँचना | in, not in |
| Unary (एकल-ऑपरेण्ड) | एक ही ऑब्जेक्ट पर ऑपरेशन | +, -, ~ |
1. Arithmetic Operators (गणितीय ऑपरेटर)
सामान्य गणितीय कार्यों के लिए।
| ऑपरेटर | अर्थ | उदाहरण | नतीजा |
|---|---|---|---|
+ | जोड़ | 10 + 5 | 15 |
- | घटाव | 10 - 5 | 5 |
* | गुणा | 10 * 5 | 50 |
/ | भाग (फ्लोट) | 10 / 3 | 3.3333... |
// | फ्लोर डिवीजन (इंट) | 10 // 3 | 3 |
% | मॉड्यूलस (रिमेंडर) | 10 % 3 | 1 |
** | घात/पावर | 2 ** 3 | 8 |
# उदाहरण
a = 10
b = 3
print(a // b) # 3
print(a % b) # 1
print(a ** b) # 1000
2. Comparison Operators (तुलन ऑपरेटर)
दो मानों की तुलना करके True या False लौटाते हैं।
| ऑपरेटर | अर्थ | उदाहरण |
|---|---|---|
== | बराबर | 5 == 5 |
!= | बराबर नहीं | 5 != 3 |
> | बड़ा | 5 > 3 |
< | छोटा | 5 < 3 |
>= | बड़ा या बराबर | 5 >= 5 |
<= | छोटा या बराबर | 3 <= 5 |
3. Logical Operators (तार्किक ऑपरेटर)
कई कंडीशन्स को मिलाकर निर्णय लेने के लिए।
| ऑपरेटर | अर्थ | उदाहरण | नतीजा |
|---|---|---|---|
and | दोनों True होने पर True | (5>3) and (10>5) | True |
or | किसी एक True होने पर True | (5>10) or (10>5) | True |
not | रिवर्स (नापास) | not (5>3) | False |
4. Assignment Operators (असाइनमेंट)
वैरिएबल में मान डालने और अपडेट करने के लिए।
| ऑपरेटर | उदाहरण | समतुल्य |
|---|---|---|
= | a = 5 | सीधा असाइन |
+= | a += 5 | a = a + 5 |
-= | a -= 5 | a = a - 5 |
*= | a *= 5 | a = a * 5 |
/= | a /= 5 | a = a / 5 |
//= | a //= 5 | a = a // 5 |
%= | a %= 5 | a = a % 5 |
**= | a **= 2 | a = a ** 2 |
5. Bitwise Operators (बिट-स्तरीय)
संख्याओं के बाइनरी प्रतिनिधित्व पर काम करते हैं — उपयोगी जब आप बिट्स को सीधे नियंत्रित करना चाहते हैं।
| ऑपरेटर | अर्थ | उदाहरण | नतीजा (डेसिमल) |
|---|---|---|---|
& | AND | 5 & 3 | 1 |
| | OR | 5 | 3 | 7 |
^ | XOR | 5 ^ 3 | 6 |
~ | NOT (बिट उलटना) | ~5 | -6 |
<< | Left shift | 5 << 1 | 10 |
>> | Right shift | 5 >> 1 | 2 |
~x का मान हमेशा -(x + 1) के बराबर होता है — ये दोज़ कंप्लीमेंट के कारण होता है।
6. Identity Operators (पहचान ऑपरेटर)
ये जाँचते हैं कि क्या दो वेरिएबल्स असल में उसी ऑब्जेक्ट की ओर इशारा कर रहे हैं (मेमोरी में)।
| ऑपरेटर | अर्थ | उदाहरण |
|---|---|---|
is | सही यदि दोनों एक ही ऑब्जेक्ट हों | x is y |
is not | सही यदि अलग ऑब्जेक्ट हों | x is not y |
x = [1,2,3]
y = x
z = [1,2,3]
print(x is y) # True (same object)
print(x is z) # False (अलग ऑब्जेक्ट, हालाँकि समान मान)
7. Membership Operators (सदस्यता)
किसी वैल्यू का सिक्वेंस (list, tuple, string) में होना या न होना जांचने के लिए।
| ऑपरेटर | अर्थ | उदाहरण |
|---|---|---|
in | सही यदि मिला | 'a' in 'apple' |
not in | सही यदि नहीं मिला | 'z' not in 'apple' |
Operator Precedence (ऑपरेटर प्राथमिकता)
जब एक ही एक्सप्रेशन में कई ऑपरेटर हों, तो प्राथमिकता (precedence) महत्वपूर्ण होती है। ऊपर से निचे: उच्च → नीचा
- Parentheses
() - Exponentiation
** - Unary
+, -, ~ - *, /, //, %
- +, - (बाइनरी)
- <<, >>
- &
- ^
- |
- तुलना, पहचान, सदस्यता (
==, is, in) notandor- Assignment
# उदाहरण
print(2 + 3 * 4) # 14 (गुणा पहले)
print((2 + 3) * 4) # 20 (कोष्टक पहले)
Unary Operators (एकल-ऑपरेटर) — संक्षेप
ये ऑपरेटर सिर्फ एक ऑब्जेक्ट पर काम करते हैं:
+— यूनरी प्लस (सामान्यतः कोई परिवर्तन नहीं)-— यूनरी माइनस (साइन बदलना)~— बिटवाइज़ NOT (बाइनरी बिट पलटना;~x == -(x+1))
a = 5
print(+a) # 5
print(-a) # -5
print(~a) # -6
अधिकारिक टिप्स / नोट्स
- == मानों की तुलना करता है, जबकि is ऑब्जेक्ट आइडेंटिटी (मेमोरी) की तुलना करता है।
- Python में
++या--जैसे increment/decrement ऑपरेटर नहीं हैं — इसके लिए+= 1या-= 1का उपयोग करें। - Logical ऑपरेटर वास्तविक वैल्यू लौटाते हैं (सिर्फ True/False नहीं) — जैसे
0 or 5का परिणाम5है। - कस्टम क्लास में ऑपरेटर ओवरलोडिंग संभव है — जैसे
__add__,__eq__आदि।
निष्कर्ष
Operators Python के expressions का मूल हैं — साधारण arithmetic से लेकर bit-level manipulation और membership/identity जांच तक। प्राथमिकता (precedence) और unary vs binary का अंतर समझना साफ, सही और प्रभावी कोड लिखने में मदद करेगा।
