কম্পিউটার

ফাংশন হিসাবে পাইথন স্ট্যান্ডার্ড অপারেটর


প্রোগ্রামিং-এ, অপারেটর হল একটি চিহ্ন (কী) যা একটি নির্দিষ্ট ক্রিয়াকলাপ যেমন যোগ, বিয়োগ, তুলনা ইত্যাদি করার জন্য পূর্বনির্ধারিত। বিভাগ যেমন পাটিগণিত, তুলনা, বিট-ওয়াইজ, সদস্যপদ ইত্যাদি।

পাইথন লাইব্রেরির অপারেটর মডিউলটি অন্তর্নির্মিত অপারেটরগুলির সাথে সম্পর্কিত ফাংশন নিয়ে গঠিত। ফাংশনগুলির নামগুলি সংশ্লিষ্ট অপারেটরের প্রকারের সাথে সাদৃশ্যপূর্ণ। উদাহরণস্বরূপ, অপারেটর মডিউলে add() ফাংশন + অপারেটরের সাথে মিলে যায়।

পাইথনের অবজেক্ট ক্লাসে অপারেটর চিহ্নগুলির সাথে সম্পর্কিত ডান্ডার (নামের আগে এবং পরে ডবল আন্ডারস্কোর) পদ্ধতি রয়েছে। অপারেটর ওভারলোডিং বাস্তবায়নের জন্য এই ডান্ডার পদ্ধতিগুলি ব্যবহারকারীর সংজ্ঞায়িত ক্লাসে উপযুক্তভাবে ওভারলোড করা যেতে পারে। অপারেটর মডিউলটি সংশ্লিষ্ট ডন্ডার ফাংশন নিয়ে গঠিত। উদাহরণ স্বরূপ, add() এর পাশাপাশি __add__() উভয়ই + চিহ্নের অপারেশন বাস্তবায়ন করে।

শুরু করতে চলুন অপারেটর মডিউল থেকে ফাংশন ইম্পোর্ট করি

>>> from operator import *

পাটিগণিত অপারেটরের সাথে সম্পর্কিত ফাংশন সম্পর্কে জানতে, দুটি ভেরিয়েবলকে সূচনা করা হয়

>>> a = 10
>>> b = 20

add(), sub() এবং 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(), pow() এবং floordiv() ফাংশন দ্বারা প্রয়োগ করা হয়।

>>> 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

অনুক্রমের সাথে কাজ করা ফাংশনগুলি

পাইথনের অন্তর্নির্মিত অপারেটর, + (সংযুক্তকরণ), এবং del যথাক্রমে contains(), concat(), delitem() ফাংশন দ্বারা প্রয়োগ করা হয়। ইন্ডেক্সড অ্যাসাইনমেন্ট অপারেটরের জন্য 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

  1. পাইথনে সময় ফাংশন?

  2. পাইথনে তুলনা অপারেটর চেইনিং

  3. পাইথনে অপারেটর ফাংশন

  4. পাইথনে দশমিক ফাংশন