7. Operators (செயற்குறிகள்) :
பைத்தான் மொழியில் கணக்கீடு, ஒப்பீடு, மதிப்பிருத்தல், நிபந்தனைச் சரிபார்ப்பு, ஒன்று கூட்டல், ஒன்று குறைத்தல், பிட்நிலைச் செயல்பாடு போன்ற பல்வேறு பணிகளுக்கும் பல்வேறு வகைப்பட்ட ’ஆப்பரேட்டர்கள்’ எனப்படும் செயற்குறிகள் பயன்படுத்தப்படுகின்றன. இவைபற்றித் தனியாக இனிவரும் பாடத்தில் படிப்போம்.
7.1 Arithmetic Operators :
ஒரு ArithmeticOperator என்பது ஒரு கணித செயல்பாடாகும், இவை பொதுவான கணிதத்தில் பயன்படுத்தப்படுகின்றன மற்றும் பெரும்பாலான கணினி மொழிகளில் இதுபோன்ற operators ஒரு தொகுப்பினைக் கொண்டிருக்கிறது, இது பல செயல்களை செய்ய இவை பயன்படுத்தப்படுகின்றது.
Addition :
இரண்டு அல்லது அதற்கு மேற்பட்ட value-வினை கூட்டுவதற்கு addition operator(+) பயன்படுகிறது.
Subtraction :
இரண்டு அல்லது அதற்கு மேற்பட்ட value-வினை கழிப்பதற்கு subtraction operator(-) ஆனது பயன்படுகிறது.
Multiplication :
இரண்டு அல்லது அதற்கு மேற்பட்ட value-வினை பெருக்குவதற்கு multiplication operator(*) ஆனது பயன்படுகிறது.
Division:
இரண்டு அல்லது அதற்கு மேற்பட்ட value-வினை வகுப்பதற்கு division operator(/) ஆனது பயன்படுகிறது.
Modulus:
இரண்டு அல்லது அதற்கு மேற்பட்ட value-வினை வகுக்கும் போது மீதியுடன் கிடைத்தால் அந்த மீதமுள்ள value-வினை modules ஆகவும் இதுவே அதன் operator(%) ஆகும்.
Exponent:
Exponent என்பது அடுக்காகும்.இங்கு exponent operator(**) ஆக பயன்படுத்தபடுகிறது.இவற்றில் 2**3 or 23 என்பதில் 2-ன் அடுக்கு 3 என்பதே இதன் அர்த்தமாகும்.
Floor Division:
இரண்டு அல்லது அதற்கு மேற்பட்ட value-வினை வகுக்கும் போது கிடைக்கின்ற ஈவு ஆனது float ஆக இல்லாமல் integer ஆக இருக்கின்ற மதிப்பினை floor division என்கிறோம்.இதன் operator(//) என்பதாகும்.
உதாரணமாக :
7.2 ஒப்பீட்டுச் செயற்குறிகள் (Comparison Operators) :
Comparison operator என்பது இரண்டு எண்களை ஒப்பிட்டு அவற்றின் தன்மையைக் கூறுவதற்கு பயன்படுவதாகும். பைத்தானில் எட்டு ஒப்பீட்டு நடவடிக்கைகள் உள்ளன. அவர்கள் அனைவரும் ஒரே முன்னுரிமை (இது boolean நடவடிக்கைகளை விட அதிகமாக உள்ளது). ஒப்பீடுகளை தன்னிச்சையாக பிணைக்கலாம்.
Equal(==) :
இரு varible-ன் மதிப்பு சமமாக இருப்பதற்கு equal operator பயன்படுத்தபடுகிறது.இதன் operator(==)ஆகும்.
Not equal(!=) :
இரு varible-ன் மதிப்பு சமம் இல்லைஎன்பதற்கு Not equal operator பயன்படுத்தபடுகிறது. இதன் operator(!=)ஆகும்.
Greater than(>) :
இரு varible-ன் மதிப்பில் வலது பக்க மதிப்பினை விட இடது பக்க மதிப்பு பெரியதாக இருப்பதை குறிப்பிடுவதற்கு இவ்வகை operator(>) பயன்படுகிறது.
Less than(<) :
இரு varible-ன் மதிப்பில் வலது பக்க மதிப்பினை விட இடது பக்க மதிப்பு சிறியதாக இருப்பதை குறிப்பிடுவதற்கு இவ்வகை operator(<) பயன்படுகிறது.
Greater than equal(>=) :
இரு varible-ன் மதிப்பில் வலது பக்க மதிப்பினை விட இடது பக்க மதிப்பு பெரியதாக அல்லது சமமாக இருப்பதை குறிப்பிடுவதற்கு இவ்வகை operator(>) பயன்படுகிறது.
Less than equal(<=) :
இரு varible-ன் மதிப்பில் வலது பக்க மதிப்பினை விட இடது பக்க மதிப்பு சிறியதாக அல்லது சமமாக இருப்பதை குறிப்பிடுவதற்கு இவ்வகை operator(<) பயன்படுகிறது.
உதாரணமாக :
7.3 Assignment Operators :
Equal operand(=) :
வலது பக்க operand-லிருந்து இடது பக்க operand-க்கு மதிப்புகளை ஒதுக்குகிறது.
Add Equal operand(+=) :
இடது பக்க operand-ஐ வலது பக்க operand-ல் இடது பக்க operand-வுடன் variable-னை சேர்த்து இவை இடது பக்க operand-க்கு சமமாகும்.c += a அல்லது c=c+aஎன்பது c மற்றும் a னை சேர்த்து c என்ற variable-ல் store செய்யப்படும்.
Sub Equal operand(-=) :
இடது பக்க operand-ஐ வலது பக்க operand-ல் இடது பக்க operand-வுடன் variable-னை கழித்து இவை இடது பக்க operand-க்கு சமமாகும்.c += a அல்லது c=c-aஎன்பது c மற்றும் a னை கழித்து c என்ற variable-ல் store செய்யப்படும்.
Multiple Equal operand(*=) :
இடது பக்க operand-ஐ வலது பக்க operand-ல் இடது பக்க operand-வுடன் variable-னை பெருக்கி இவை இடது பக்க operand-க்கு சமமாகும்.c *= a அல்லது c=c*aஎன்பது c மற்றும் a னை பெருக்கி c என்ற variable-ல் store செய்யப்படும்.
Divide Equal operand(/=) :
இடது பக்க operand-ஐ வலது பக்க operand-ல் இடது பக்க operand-வுடன் variable-னை வகுத்து இவை இடது பக்க operand-க்கு சமமாகும்.c /= a அல்லது c=c/aஎன்பது c மற்றும் a னை வகுத்து c என்ற variable-ல் store செய்யப்படும்.
Modulus Equal operand(%=) :
இடது பக்க operand-ஐ வலது பக்க operand-ல் இடது பக்க operand-வுடன் variable-னை வகுக்கும் போது மீதியுடன் கிடைத்தால் அந்த மீதமுள்ள value-வினை modules.இவை இடது பக்க operand-க்கு சமமாகும்.c %= a அல்லது c=c%aஎன்பது c மற்றும் a னை வகுக்கும் போது மீதியுடன் கிடைத்தால் அந்த மீதமுள்ள மதிப்பு c என்ற variable-ல் store செய்யப்படும்.
Exponent Equal operand(**=) :
இடது பக்க operand-ஐ வலது பக்க operand-ல் இடது பக்க operand-வுடன் variable-னை exponent ஆகி இவை இடது பக்க operand-க்கு சமமாகும்.c **= a அல்லது c=c**aஎன்பது c ஆனது a னை அடுக்காகி c என்ற variable-ல் store செய்யப்படும்.
Floor DivisionEqual operand(//=) :
இடது பக்க operand-ஐ வலது பக்க operand-ல் இடது பக்க operand-வுடன் variable-னை வகுக்கும் போது கிடைக்கின்ற ஈவு ஆனது float ஆக இல்லாமல் integer ஆக இருக்கின்ற மதிப்பு ஆனதுஇடது பக்க operand-க்கு சமமாகும்.c //= a அல்லது c=c//aஎன்பது c மற்றும் a னை வகுத்து கிடைகின்ற floor division ஆனது c என்ற variable-ல் store செய்யப்படும்.
உதாரணமாக :
7.4 Bitwise Operators :
Bitwise operator ஆனதுbit-கள்மூலம் இயங்குகிறது.மேலும் இவைbit-by-bit செயல்பாட்டை செய்கின்றது.வெவ்வேறு மொழிகள் இருந்தாலும் அனைத்தையும் கணிப்பொறியானது bit ஆக மாற்றியே புரிந்துக் கொள்ளும்.
இங்கு bit என்பது 0 மற்றும் 1 ஆகும்.இதில் bitwise operator என்பது ஆறுவிதமான operator-களை கொண்டுள்ளது.அது பின்வருமாறு and,or,xor,complement,left shift left shift மற்றும் right shift என்பவை bitwise operator-களாகும்.இதில் ஒவ்வொன்றினை பற்றியும் பின்வருமாறு தனித்தனியாக காணலாம்.
and(&):
and operator என்பது இரண்டு operands-ஐ and(பெருக்குல்) செய்வதற்கு பயன்படுகிற operator ஆனது and(&) ஆகும்.
or(|):
or operator என்பது இரண்டு operands-ஐ or அதாவது கூட்டுவதற்கு பயன்படுகிற operator ஆனது or(|) ஆகும்.இதில் குறைந்தது ஒரு நிபந்தனை நிறைவேற்றப்படும்.
xor(^):
xor operator என்பது இரண்டு operands-ஐ xor function-ஐ செய்வதற்கு பயன்படுகிற operator ஆனது xor(^) ஆகும்.
Complement(~):
complement operator என்பது operands-ஐ inverse function-ஐ செய்வதற்கு பயன்படுகிற operator ஆனது complement(~) ஆகும்.அதாவது 0 ஆனது 1 ஆகவும்,1 ஆனது 0 ஆகவும் மாற்றப் படுவதே complement.
Left shift(<<):
Left shift operator என்பது operands-ல் உள்ள bit-ல் இடது பக்கமாக shift செய்யபடுகிறது.இதற்கு பயன்படுகிற operator ஆனது leftshift(<<) ஆகும்.
right shift(>>):
right shift operator என்பது operands-ல் உள்ள bit-ல் வலது பக்கமாக shift செய்யபடுகிறது.இதற்கு பயன்படுகிற operator ஆனது rightshift(>>) ஆகும்.
பின்வரும் உதாரணமானது bitwise operator-ஐ நன்கு விளக்கும்.
7.5 Logical operator :
Logical operator என்பது logical function-ஆன and,or,not செய்வதற்கு உதவுகின்ற operator ஆனது logical operator ஆகும்.
Logical operator ஆனது இரண்டு operands-க்கு இடையில் பயன்படுத்தபடும். இரண்டு operand-ம் எப்படி இருக்கிறது என்பதை logical operator மூலம் தெரிந்து கொள்ளலாம். Logical operator ஆனது bits அதாவது 0 மற்றும் 1-ல் மட்டுமே செயல்படும்.
AND:
AND operator என்பது இரண்டு operands-ஐ and(பெருக்குல்) செய்வதற்கு பயன்படுகிற operator ஆனது and ஆகும்.இவை and என்றே பயன்படுத்தபடும்.
OR:
OR operator என்பது இரண்டு operands-ஐ or அதாவது கூட்டுவதற்கு பயன்படுகிற operator ஆனது or ஆகும்.இதில் குறைந்தது ஒரு நிபந்தனை நிறைவேற்றப்பட வேண்டும்.இவை or என்றே பயன்படுத்தபடும்.
NOT :
NOT operator என்பது operand மதிப்பினை complement செய்வதற்கு இவை உதவுகிறது.
Logical operator-ன் உதாரணமானது கீழே காண்பிக்க பட்டுள்ளது.இவற்றில் 0 என்பது true ஆகவும்,1 என்பது false ஆகவும் இருக்கும்.
மேலே உள்ள படத்தில் a=1,b=0.இதனை and அதாவது பெருக்கும் போது (1*0=0) சுழியம்(0) வருகிறது. பின் or அதாவது கூட்டும் போது (1+0=1) ஒன்று(1) வருகிறது.
a=1,not(a) என்பது 0. ஆகவே false என்றும் b=0,not(b) என்பது 1.ஆகவே true என்றும் காணப்படுகிறது.
7.6 Membership Operators :
Membership Operators என்பது சோதித்து பார்ப்பதற்காகவே இவ்வகை operator ஆனது பயன்படுத்தப்படுகிறது.இவை strings, lists மற்றும் tuples பயன்படுத்தலாம்.இதில் இருவகை operator உள்ளது.அவை
in :
in ஆனது ஒரு operand-ல் இருந்து மற்றொரு operand-ஐ சோதித்து பார்க்கிறது.இரு operand-லும் ஒரே மாதிரியாக இருந்தால் True என்று display செய்யும். இரு operand-லும் ஒரே மாதிரியாக எதுவும் இல்லை என்றால் False என்று display செய்யும்.
not in :
in-ஐ போன்றே not in-ம் சோதித்து பார்க்கிறது.இரு operand-லும் ஒரே மாதிரியாக எதுவும் இல்லை என்றால் True என்று display செய்யும். இரு operand-லும் ஒரே மாதிரியாக ஏதாவது இருந்தால் False என்று display செய்யும்.
இங்கு a என்ற list-ல் 1 முதல் 5 வரை எண்கள் இருக்கின்றன.b என்ற list-ல் 6 என்ற எண் உள்ளது.5 என்ற எண் ஆனது a என்கிற list-னை check செய்கிறது. 5 என்ற எண் a-ல் இருப்பதால் True என்று கிடைக்கிறது.அதே போன்று b என்கிற list-ல் உள்ளதை a என்கிற list-ல் check செய்கிறது. b என்பது a-ல் இல்லாததால் இங்கு False என்று கிடைக்கிறது.
b என்கிற list-ல் உள்ளது a என்கிற list-ல் இல்லையா என்று check செய்கிறது. b என்பது a-ல் இல்லாததால் இங்கு True என்று கிடைக்கிறது.
அதே போன்று 5 என்பது a என்கிற list-ல் இல்லையா என்று check செய்கிறது. 5 என்பது a-ல் இருப்பதால் இங்கு False என்று கிடைக்கிறது.
7.7 Identity Operators:
Identity operators என்பது இரு நினைவகத்தை கூடிய object-னை ஒப்பிடுவதற்கு பயன்படுகின்ற operator ஆனது identity operator என்று அழைக்கிறோம்.
is :
is ஆனது இரு variable-க்கு இடையில் பயன்படுத்தப்படும். இரு variable-ன் மதிப்பு ஒரே மாதிரியாக இருந்தால் True என்றும் வெவ்வேறாக இருந்தால் False என்றும் display செய்யும்.
is not :
is not ஆனது இரு variable-க்கு இடையில் பயன்படுத்தப்படும். இரு variable-ன் மதிப்பு ஒரே மாதிரியாக இருந்தால் False என்றும் வெவ்வேறாக இருந்தால் True என்றும் display செய்யும்.
இதில் a-யும் b-யும் வெவ்வேறாக இருக்கின்றது.அதேபோன்று id-யும் வெவ்வேறாக இருக்கின்றது.ஆகவே a is b என்று வரும்போது False-ம் a is not b என்று வரும்போது True என்றும் வரும்.பிறகு c,d,e என்கிற variable-ஐ பார்த்தால் நன்கு தெரியும்.c மற்றும் e என்ற variable-ன் objects ஆனது ஒரேமாதிரியாகவும் அதன் id-யும் ஒரேமாதிரியாக இருப்பதால் is operator பயன்படுத்தும் போது True ஆக இருப்பதை காணலாம். c மற்றும் e என்ற variable-ன் objects ஆனது ஒரேமாதிரியாகவும் அதன் id-யும் ஒரேமாதிரியாக இருப்பதால் is not operator பயன்படுத்தும் போது False என்று தென்படும்.
-தொடரும்.
எழுதியவர்:
செ.பாலகணேசன்