Module 4 Ch 2 | Operators in Python

 

 Chapter #2 | Operators

 

इस  चैप्टर में हम operators के बारे में पढेंगे. एक इसका बड़ा सिंपल सा तरीका है समझने का. जिस data पर हम operation करते है उसे operator से represent किया जाता है. जो symbol ये operation/action को trigger करते हैं वो operators कहलाते हैं. जिस objects पे operation(s) होते हैं वो operand कहलाते हैं.  We hope की आपको अब ये डिफरेंस क्लियर हो गया होगा तो अब हम types ऑफ़ operators पढेंगे. इससे आपको और भी clarity आएगी.

Python के rich set के operators में निम्नलिखित types के operators हैं:

       1. Arithmetic operators

2. Relational operators

3. Logical operators

4. Bitwise operators

5. Membership operators

6. Identity operators

चलिए बारी बारी इन सब को देख लेते हैं.  🙂


 Arithmetic operators:

 

 arithmetic operation को perform के लिए arithmetic operators का इस्तेमाल करते हैं. basic calculations करने के लिए ये operators python provide करता है.

+ addition
subtraction
* multiplication
/ division
// floor division
% remainder
** exponentiation

 

ये सभी operators binary operators है मतलब इसे final answer calculate करने के लिए दो operands चाहिए ही होते हैं. python के पास दो unary operators +, – है.


>Unary operators:

Unary  + : operator unary + operand के पहले आता है. unary + operator के operand का हमेशा arithmetic type और result भी argument की value होती है. जैसे-

if a = 5 तो +a मतलब 5

if a = 0 तो +a मतलब 0

if a = -4 तो +a मतलब -4

Unary  –  : ये operator operand के पहले आता है.  unary – operator के operand का हमेशा arithmetic type और result भी operand की value का negation होता है. जैसे-

if a = 5 तो –a मतलब -5

if a = 0 तो –a मतलब 0

if a = -4 तो –a मतलब 4


 Binary operators:

 

जो operators दो operands पे काम करते हैं वो binary operators होते हैं. जब ये operators और operands मिल जाते हैं तो expression कहलाते है.

 Addition operator +

ये operator operands में value add करती है और result सभी values का sum होता है. जैसे-

4 + 20 हमे result में 24 देगा.

a + 5(a=2) result में 7 देगा.

इस operator के लिए operands को number type में होना चाहेयी.

python में + concatenation operator का भी काम करता है, जिसे हम string manipulation में पढेंगे.

Subtraction operator –

ये – operator 2nd operand को 1st operand से subtract करता है. जैसे-

14 – 3=11

x – 3(x = -1) हमे -4 देगा.

Multiplication operator *

ये * operator values को multiply करता है. जैसे-

3*4 ये evaluate 12 करके देगा.

b * 4(b=6) evaluate 24 करके देगा.

a * c(a=3,c=5) evaluate 15 करके देगा.

python * operator को replication operator की तरह भी इस्तेमाल करता है जो string manipulation में पढेंगे.

Division operator /

ये / operator first operand को second operand से divide करती हैं. जैसे-

100/5 evaluate कर 20 देगा.

a/b (a = 15.9, b = 3) evaluate  कर 5.3 देगा.

operator का behaviour operand के data type पे depend करता है.

Floor division //

python floor division की भी property देता है जो divide होने पे whole part ही result का देगा. output में fractional part को truncate करेगा.

अगर a = 15.9, b = 3 है तो a//b evaluate कर 5.0 देगा जबकि a/b=5.3 देता है.

7//3=2

Modulus operator%

ये % operator remainder देता है जब first operand को second operand के साथ relate करते हैं. मतलब, ये जब first operand को second operand से divide करते हैं तो जो remainder बचता है वो modulus operator देता है. जैसे-

19%6 ये evaluate कर 1 देगा .

6%2.5 1.0 देगा.

Exponentiation operator **

ये ** operator power calculation देगा. ये number के raised में जो power होता है उतनी बार number को खुद से multiply कर उसका result देता है. जैसे-

4 ** 3 ये result में 64 देता है.

a ** b(a = 7, b ==4) evaluate कर 2401 देता है.

Augmented Assignment operators :

इस operator के बारे में हम पहले भी पढ़ चुके हैं. ये assignment operator = और arithmetic operator के combination से बनता है. जी value LHS में होती है उसे RHS के साथ arithmetic operation कर LHS के variable में ही store करती है.

जैसे- a = a + b

इसे हम a+=b भी लिख सकते हैं.

तो चलिए अभी शोर्ट में जो कुछ भी पढ़ा इसे एक टेबल में club कर लेते हैं.

x+=y x=x+y इसमें value y की x में add कर x में ही assign कर दी गयी है.
x-=y x=x-y इसमें value y की x में subtract की है उसकी value x में ही assign की है.
x*=y x=x*y इसमें value y की x में multiply कर उसकी value x में ही assign की है.
x/=y x=x/y इसमें value y की x में divide कर x में ही assign की है.
x//=y x=x//y इसमें value y को floor division x से कर x में assign की है.
x**=y x=x**y इसमें value y को xy की तरह compute कर x में ही assign की है.
x%=y x=x%y x को y से divide कर उसके remainder को x में assign किया है.

 Relational operators

 

अब हम relational operator के बारे में पढेंगे. जैसा कि हम देख सकते हैं की यहाँ relational word का प्रयोग किया हुआ है मतलब यह operator किसी के बीच के relation के बारे में दर्शाता है. जी हाँ, relational operator दो values या operand के बीच के relation को बताता है. python 7, relational operator provide करता है values को compare करने के लिए. दोस्तों, जब comparison होती है तो अगर comparison true है तो ये expression boolean value True return करती है अगर comparison false है तो ये expression boolean value False return करेगी.

आप नीचे 7 relational operators देख सकते हैं:

less than
greater than
<= less than or equal to
>= greater than or equal to
== equal to
!= not equal to
<>  not equal to

जैसा की हम देख सकते हैं not equal to comparison के लिए दो operator है: != और <>. Relational operator almost सभी data types के साथ operate होते हैं. तो Boss, relational operators भी कुछ principles पर  work करते है तो चलिए अब ये देखते हैं की ये principles कौन से हैं:

  • numeric types में, values का comparison हमेशा decimal point के बाद वाले trailing zeros को हटा कर किया जाता है. जैसे- 4 और 4.0 ये दोनों same ही treat किये जाते हैं क्योकि 4.0 में 0 हटा देने के बाद 4 ही रहता है.
  • comparison के वक़्त size को ignore कर दी जाती है जैसे 2L और 2 दोनों ही equal हैं.
  • string को compare करने का basis lexicographical ordering है.(dictionary में ordering की तरह)
  1. capital letters small letters से छोटे consider किये जाते हैं. जैसे- ‘A’ less than ‘a’ है. ‘Python’ ‘python’ equal नहीं है, ‘pen’ ‘pens’ के बराबर नहीं है.

2. comparison purpose में ASCII strings और unicode strings same ही treat किये जाते हैं, क्योकि lexicographical ordering में ये दोनों same ही है. जैसे- ‘preeti’ और u’preeti’ ये दोनों ही same हैं.

  • दो list या दो tuple equal होते हैं, अगर इनके elements same है और same order में ही है.
  • boolean True, 1 के equivalent है और boolean False, 0 के equal हैं.

जैसे ये example देखे:

a=3, b=13, p=3.0

c=’n’, d=’g’, e=’N’

f=’god’, g=’God’, h=’god’, j=u’God’

L=[1,2,3], M=[2,4,6], N=[1,2,3]

O=(1,2,3), P=(2,4,6), Q=(1,2,3)

चलिए इन सब को equal और less than के comparison से कर के देखते हैं और क्या result है.

a<b ये True return करेगा.
c<d ये False return करेगा.
f<h ये False return करेगा.
f==h ये True return करेगा.
c==e ये False return करेगा.
g==j ये True return करेगा.
a==p ये True return करेगा.
L==M ये False return करेगा.
L==N ये True return करेगा.
O==P ये False return करेगा.
O==Q ये True return करेगा.
a==True ये False return करेगा.
0==False ये True return करेगा.

तो गुरु, ये table में हमने relational operators के सभी action को summarize किया है. अब हम relational operators arithmetic operators के साथ का order देखेंगे: Relational operators का arithmetic operators से lower precedence है. इसका मतलब ये हुआ की की ये

expression a+5>c-2  ….(expression1)

correspond करता है

(a+5) > (c+2) …. (expression2 से), ना की

a+(5>c) -2 (expression3) से

दोस्तों हालाँकि आपको लगता होगा relational operators के साथ काम करना आसान है परन्तु कभी कभी ये unexpected result भी देता है. इसलिए कुछ tips है:

assignment operator= की जगह relational operator == के बीच के mistake न करे.

अब बारी आयी है logical operators पढने की.


 Logical operators:

 

यहाँ हम boolean logical operators(or, and, not) जो ways(तरीके) को refer करते हैं जो values के relationship को दिखाता है. python 3 logical operators को दिखाता है जो existing expression को combine करता है. इससे पहले की हम आगे बढे हमे truth value testing के बारे में पता होना चाहिए. क्यूकी कुछ case में logical operators के result truth value testing के basis पे होता है. आइये जानता हैं क्या कहानी है ये.

Truth value testing:

python हर value के type को किसी न किसी truth value के साथ associate करता है, python internally ही true या false में categorizes करता है. कोई भी object को truth value के लिए test किया जा सकता है.

नीचे दिए गए table में python इन values को false मानता है:

Values truth value के साथ पर false consider किया जाता है. values जो truth value के साथ true हैं.
None इसके अलावा सभी values को true ही consider किया जाता है.
False(boolean value false)
zero किसी भी numeric type का जैसे-0,0L,0.0,0j
कोई भी empty sequence जैसे-“”,(),[]
empty mapping जैसे-{}

 The ‘or’ operator

‘or’ operator दो expression को combine करता है, जो वो दो expression को operand बनाता है. or operator नीचे दिए गए ways में काम करता है:

  • Relational expression को operands की तरह
  • Numbers या strings या lists को operands की तरह

Relational expression as operands

जब or operator के पास relational expressions operands होते हैं (जैसे-p>q, j<>k, etc) तो or operator इस principle पर काम करता है:

‘or’ operator true value evaluate करता है अगर कोई एक भी relational operands true evaluate करती हैं. false तब evaluate करेगी जब सभी expression false evaluate करेगी.

इसका मतलब ये हुआ:

x           y x or y
false false false
false true true
true false true
true true true

नीचे कुछ example है or operator के साथ:

(4==4) or (5==8) ये true में result करेगा क्युकी first expression true है.

5>8 or 5<2  ये false में result करेगा क्युकी दोनों ही expression false हैं.

numbers/strings/lists as operands

जब or operand के operand numbers, strings, lists operands (जैसे- ‘a’ or ‘’, 3 or 0) की तरह होती है तो इस नीचे दिए गए principle पर काम करता है.

“expression x or y में, अगर first operand की True वैल्यू, false  है तो ये result में second operand को return करता है. otherwise x को return करता है.”

दोस्तों हम उपर के table को ही refer कर सकते हैं सिर्फ इसमें truth value true या false होगी. चलिए अब कुछ examples देखते हैं:

operation result reason
0 or 0 0 पहला expression की truth value false है, इसलिए second expression 0 return हुआ.
0 or 9 9 पहला expression की truth value false है, इसलिए second expression 9 return हुआ.
10 or 0.0 10 पहला expression की truth value true है, इसलिए first expression 10 return हुआ.
‘hello’ or ‘’ ‘hello’ पहला expression की truth value true है, इसलिए first expression ‘hello’ return हुआ.
‘’ or ‘a’ ‘a’ पहला expression की truth value false है, इसलिए second expression ‘a’ return हुआ.
‘’ or ‘’ ‘’ पहला expression की truth value false है, इसलिए second expression ‘’ return हुआ.
‘a’ or ‘j’ ‘a’ पहला expression की truth value true है, इसलिए first expression ‘a’ return हुआ.

‘or’operator second operand को तभी test करती है जब first expression false होती है, otherwise ignore कर  देती  है. अगर second expression false है पर first expression भी  false है तो output second expression ही आएगा. जैसा की हम देख सकते हैं.

अब हम and operator पढेंगे.

The ‘and’ operator

and operator भी दो expression को combine करती है, जो expression को operands बनाता है. and operator भी दो ways में काम करता है:

  • Rational expression को operands की तरह
  • numbers या strings या lists operands की तरह

Relational expressions as operands: जब and operator के पास relational expressions operands होते हैं(जैसे-p>q, j<>k, etc) तो and operator इस principle पर काम करता है:

‘and’ operator true value evaluate करता है अगर सभी relational operands true evaluate करती हैं. false तब evaluate करेगी कोई भी  expression false evaluate करेगी.

इसका मतलब ये हुआ:

x           y x and y
false false false
false true false
true false false
true true true

नीचे कुछ and operation के examples हैं:

(3==3) and (10==8) ये false में result करेगा क्युकी second expression false है.

5>8 and 5<2  ये false में result करेगा क्युकी दोनों ही expression false हैं.

10>5 and 8<15 ये true में result करेगी क्युकी दोनों ही expression true है.

Numbers/strings/lists as operands जब and operand के operand numbers, strings, lists operands (जैसे- ‘a’ and ‘’, 3 and 0) की तरह होती है तो इस नीचे दिए गए principle पर काम करता है.

“expression x or y में, अगर first operand के falsetval है तो ये result में first operand को return करता है. otherwise y को return करता है.”

दोस्तों हम उपर के table को ही refer कर सकते हैं सिर्फ इसमें truth value true या false होगी. चलिए अब कुछ examples देखते हैं:

operation result reason
0 and 0 0 पहला expression की truth value false है, इसलिए first expression 0 return हुआ.
0 and 9 0 पहला expression की truth value false है, इसलिए first expression 0 return हुआ.
10 and 0.0 0.0 पहला expression की truth value true है, इसलिए second expression 0.0 return हुआ.
‘hello’ and ‘’ ‘’ पहला expression की truth value true है, इसलिए second expression ‘’ return हुआ.
‘’ and ‘a’ ‘’ पहला expression की truth value false है, इसलिए first expression ‘’ return हुआ.
‘’ and ‘’ ‘’ पहला expression की truth value false है, इसलिए first expression ‘’ return हुआ.
‘a’ and ‘j’ ‘j’ पहला expression की truth value true है, इसलिए second expression ‘j’ return हुआ.

and operator में अगर first expression false है है तो second expression evaluate ही नहीं करेगा. अगर पहला true है तो दूसरा true हो या false वही return करेगा.


 

 Not operator

 

ये logical operator single expression पर काम करता है, यानी unary operator है. not operator negates या reverse करता है expression के truth value को. यानी अगर expression true है या truth value true है तो ये false कर देगी जैसे-

not 5  ये हमे false देगी क्युकी 5 एक non-zero है इसकी truth value true है.

not 0   ये हमे true देगी क्युकी 0 की truth value false है.

not (5>9) ये हमे true देगी क्युकी ये expression false है.

जैसा हम maths में BODMAS रूल पढ़ते है यहाँ पर अगर एक expression में बहुत सारे operators है तो एक precedence follow होती है तो अब हम उसके बारे में पढ़ते हैं.


Operators precedence

नीचे दिए गए table में precedence high to low है. उपर वाले सबसे highest priority दी जाती है फिर जैसे जैसे नीचे आती है उसकी priority कम होती है.

operator description
() paranthesis
** exponentiation
+x, -x positive, negative(unary +, -)
*, /, //, % multiplication, division, floor division, remainder
+, – addition, subtraction
<,>,<=,>=,<>,!=,== comparison
not x boolean NOT
and boolean AND
or boolean OR


Nitin Arya

He is lucky be to a fast-growing YouTuber. Like every third person now in india, he is an engineer, working as manager in public sector. A photographer and a science teacher who usually deviates to the miracles of science rather than completing syllabus.

Leave a Reply

Your email address will not be published. Required fields are marked *

%d bloggers like this: