লেখকের ছবি
পাইথন এমন একটি জাদুকরী ভাষা যার অনেকগুলি ধারণা রয়েছে যা এমনকি উন্নত ব্যবহারকারীরাও পরিচিত নাও হতে পারে। ডান্ডার বা জাদুকরী পদ্ধতি তার মধ্যে অন্যতম। ম্যাজিক পদ্ধতি হল বিশেষ পদ্ধতি যা ডবল আন্ডারস্কোর দ্বারা বেষ্টিত। এগুলিকে অজগরের সাধারণ পদ্ধতির বিপরীতে স্পষ্টভাবে বলা হয় না। এমনই একটি ম্যাজিক পদ্ধতি হল __getitem__
পদ্ধতি, পাইথন অবজেক্টগুলিকে সিকোয়েন্স বা পাত্রের মতো আচরণ করতে সক্ষম করে যেমন তালিকা, অভিধান এবং টিপল। এটি সূচক বা স্লাইস নেয় এবং সংগ্রহ থেকে এর সম্পর্কিত মান পুনরুদ্ধার করে। যখনই আমরা ব্যবহার করি তখন এটি স্বয়ংক্রিয়ভাবে আহ্বান করা হয় indexer [ ]
অপারেটর আপনার বস্তুর মধ্যে উপাদান অ্যাক্সেস করতে.
এই পদ্ধতিটিকে একটি জাদুর কাঠি হিসাবে ভাবুন যা আপনাকে কোডের কয়েকটি লাইন লিখে প্রয়োজনীয় তথ্য বের করার ক্ষমতা দেয়। আকর্ষণীয় ডান? এই পদ্ধতিটি ডেটা বিশ্লেষণ এবং মেশিন লার্নিং-এও ব্যাপকভাবে ব্যবহৃত হয়। সুতরাং, এর গভীরে ডুব দেওয়া যাক __getitem__
পদ্ধতি এবং এর শক্তি এবং নমনীয়তা আবিষ্কার করুন।
আমি আপনাকে বুঝতে চাই যে পাইথন প্রোগ্রামার হিসাবে আপনার দায়িত্ব কেবল কার্যকরী কোড লেখার চেয়ে বেশি। আপনার কোড দক্ষ, পঠনযোগ্য এবং রক্ষণাবেক্ষণযোগ্য হওয়া উচিত। ব্যবহার __getitem__
এই লক্ষ্য অর্জনে সাহায্য করবে। এখানে এই জাদু পদ্ধতি ব্যবহার করার কিছু অন্যান্য সুবিধা রয়েছে:
- মেমরিতে সম্পূর্ণ ডেটা স্ট্রাকচার লোড করার পরিবর্তে আপনাকে শুধুমাত্র প্রয়োজনীয় তথ্য বের করার অনুমতি দিয়ে মেমরির ব্যবহার হ্রাস করে
- ডেটা কীভাবে পরিচালনা এবং ম্যানিপুলেট করা হয় তাতে আরও নমনীয়তা প্রদান করে
- আপনাকে ডেটা লুপ না করে সংগ্রহের উপর পুনরাবৃত্তি করার অনুমতি দেয়
- আপনাকে উন্নত ইন্ডেক্সিং লেখার অনুমতি দিয়ে কার্যকারিতা বাড়ায় যা বিল্ট-ইন প্রকারের সাথে সম্ভব নাও হতে পারে
- কোডটিকে সরল করে কারণ এটি পরিচিত স্বরলিপি ব্যবহার করে
সিনট্যাক্স __getitem__
পদ্ধতি নিম্নরূপ:
def __getitem__(self, index): # Your Implementation pass
এটি ফাংশনের আচরণকে সংজ্ঞায়িত করে এবং আপনি এর প্যারামিটারে অ্যাক্সেস করার চেষ্টা করছেন এমন সূচকটি নেয়। আমরা এই পদ্ধতিটি এভাবে ব্যবহার করতে পারি:
my_obj[index]
এটি বিবৃতিতে অনুবাদ করে my_obj.__getitem__(index)
ফণা অধীনে এখন আপনি ভাবতে পারেন যে এটি বিল্ট-ইন থেকে কীভাবে আলাদা indexer []
অপারেটর? আপনি যেখানেই এই স্বরলিপি ব্যবহার করেন, পাইথন স্বয়ংক্রিয়ভাবে কল করে __getitem__
আপনার জন্য পদ্ধতি এবং উপাদানগুলি অ্যাক্সেস করার জন্য শর্টহ্যান্ড। কিন্তু আপনি যদি কাস্টম অবজেক্টের জন্য সূচীকরণের আচরণ পরিবর্তন করতে চান তবে আপনাকে স্পষ্টভাবে কল করতে হবে __getitem__
পদ্ধতি।
উদাহরণ # 01
প্রথমে একটি সহজ উদাহরণ দিয়ে শুরু করা যাক। আমরা একটি স্টুডেন্ট ক্লাস তৈরি করব যেখানে সমস্ত ছাত্রদের তালিকা থাকবে এবং আমরা সূচী দ্বারা তাদের অ্যাক্সেস করতে পারি এবং বিবেচনা করতে পারি যে সূচকটি তাদের অনন্য ছাত্র আইডি প্রতিনিধিত্ব করে।
class Student: def __init__(self, names): self.names=names def __getitem__(self,index): return self.names[index] section_A= Student(["David", "Elsa", "Qasim"])
print(section_A[2])
আউটপুট:
এখন আমরা একটি উন্নত উদাহরণে চলে যাব যেখানে আমরা ব্যবহার করে ইনডেক্সিং আচরণ পরিবর্তন করব __getitem__
পদ্ধতি ধরুন যে আমার কাছে স্ট্রিং উপাদানগুলির একটি তালিকা রয়েছে এবং আমি যখনই এটির সূচী অবস্থানে প্রবেশ করি তখন আমি উপাদানটি পুনরুদ্ধার করতে চাই এবং আমি যদি স্ট্রিংটি নিজেই প্রবেশ করি তবে আমি সূচকের অবস্থানও পেতে পারি।
class MyList: def __init__(self, items): self.items = items def __getitem__(self, index): if isinstance(index, int): return self.items[index] elif isinstance(index, str): return self.items.index(index) else: raise TypeError("Invalid Argument Type") my_list = MyList(['red', 'blue', 'green', 'black']) # Indexing with integer keys
print(my_list[0]) print(my_list[2]) # Indexing with string keys
print(my_list['red']) print(my_list['green'])
আউটপুট:
red
green
0 2
এই পদ্ধতিটি দৃষ্টান্তের বৈশিষ্ট্যগুলির দ্রুত সন্ধানের জন্য অত্যন্ত কার্যকর। এই পদ্ধতির নমনীয়তা এবং বহুমুখিতা বিবেচনা করে, আমি বলব এটি পাইথনের সবচেয়ে কম ব্যবহার করা জাদু পদ্ধতিগুলির মধ্যে একটি। আমি আশা করি আপনি এই নিবন্ধটি পড়ে উপভোগ করেছেন এবং আপনি যদি পাইথনের অন্যান্য জাদু পদ্ধতি সম্পর্কে জানতে আগ্রহী হন তবে মন্তব্য বিভাগে আমাকে জানান।
কানওয়াল মেহরীন একজন উচ্চাকাঙ্ক্ষী সফ্টওয়্যার ডেভেলপার যিনি ডাটা সায়েন্স এবং মেডিসিনে AI এর অ্যাপ্লিকেশনে গভীর আগ্রহের সাথে। কানওয়াল APAC অঞ্চলের জন্য Google জেনারেশন স্কলার 2022 হিসেবে নির্বাচিত হয়েছেন। কানওয়াল ট্রেন্ডিং বিষয়গুলিতে নিবন্ধ লিখে প্রযুক্তিগত জ্ঞান শেয়ার করতে পছন্দ করেন এবং প্রযুক্তি শিল্পে মহিলাদের প্রতিনিধিত্ব উন্নত করার বিষয়ে উত্সাহী৷
- এসইও চালিত বিষয়বস্তু এবং পিআর বিতরণ। আজই পরিবর্ধিত পান।
- প্লেটোব্লকচেন। Web3 মেটাভার্স ইন্টেলিজেন্স। জ্ঞান প্রসারিত. এখানে প্রবেশ করুন.
- উত্স: https://www.kdnuggets.com/2023/03/introduction-getitem-magic-method-python.html?utm_source=rss&utm_medium=rss&utm_campaign=introduction-to-__getitem__-a-magic-method-in-python
- : হয়
- 2022
- 8
- a
- সম্পর্কে
- প্রবেশ
- অ্যাক্সেস করা
- অর্জন করা
- অগ্রসর
- AI
- ওষুধে এআই
- সব
- অনুমতি
- বিশ্লেষণ
- এবং
- APAC
- অ্যাপ্লিকেশন
- রয়েছি
- যুক্তি
- প্রবন্ধ
- প্রবন্ধ
- AS
- উচ্চাকাঙ্ক্ষী
- যুক্ত
- বৈশিষ্ট্যাবলী
- স্বয়ংক্রিয়ভাবে
- BE
- সুবিধা
- কালো
- নীল
- বিল্ট-ইন
- by
- কল
- নামক
- কল
- CAN
- পরিবর্তন
- শ্রেণী
- কোড
- সংগ্রহ
- মন্তব্য
- সম্পূর্ণ
- ধারণা
- বিবেচনা
- বিবেচনা করা
- কন্টেনারগুলি
- সৃষ্টি
- প্রথা
- উপাত্ত
- তথ্য বিশ্লেষণ
- তথ্য বিজ্ঞান
- ডেভিড
- গভীর
- সংজ্ঞায়িত
- বিকাশকারী
- বিভিন্ন
- আবিষ্কার করা
- ডবল
- e
- সহজ
- দক্ষ
- উপাদান
- উপাদান
- সক্রিয়
- প্রবেশ করান
- অপরিহার্য
- এমন কি
- উদাহরণ
- নির্যাস
- অত্যন্ত
- পরিচিত
- কয়েক
- প্রথম
- নমনীয়তা
- অনুসরণ
- জন্য
- থেকে
- ক্রিয়া
- কার্মিক
- কার্যকারিতা
- প্রজন্ম
- পাওয়া
- গোল
- গুগল
- অনুদান
- বৃহত্তর
- Green
- ঘাঁটা
- আছে
- সাহায্য
- এখানে
- ঘোমটা
- আশা
- কিভাবে
- HTTPS দ্বারা
- i
- ID
- বাস্তবায়ন
- উন্নতি
- in
- সূচক
- শিল্প
- তথ্য
- উদাহরণ
- পরিবর্তে
- স্বার্থ
- আগ্রহী
- মজাদার
- ভূমিকা
- IT
- আইটেম
- এর
- নিজেই
- কেডনুগেটস
- উত্সাহী
- কী
- জানা
- জ্ঞান
- ভাষা
- শিক্ষা
- মত
- লাইন
- লিঙ্কডইন
- তালিকা
- পাখি
- বোঝাই
- খুঁজে দেখো
- মেশিন
- মেশিন লার্নিং
- জাদু
- রক্ষণাবেক্ষণযোগ্য
- কাজে ব্যবহৃত
- অনেক
- ঔষধ
- স্মৃতি
- পদ্ধতি
- পদ্ধতি
- হতে পারে
- অধিক
- সেতু
- পদক্ষেপ
- নাম
- প্রয়োজন
- লক্ষ্য
- বস্তু
- of
- on
- ONE
- অপারেটর
- সাধারণ
- অন্যান্য
- স্থিতিমাপ
- কামুক
- Plato
- প্লেটো ডেটা ইন্টেলিজেন্স
- প্লেটোডাটা
- অবস্থান
- সম্ভব
- ক্ষমতা
- প্রোগ্রামার
- পাইথন
- দ্রুত
- বৃদ্ধি
- পড়া
- লাল
- এলাকা
- প্রতিনিধিত্ব
- প্রতিনিধিত্ব করে
- প্রয়োজনীয়
- প্রত্যাবর্তন
- s
- বিজ্ঞান
- অধ্যায়
- নির্বাচিত
- আত্ম
- শেয়ার
- সংক্ষেপে
- উচিত
- ফালি
- So
- সফটওয়্যার
- কিছু
- প্রশিক্ষণ
- শুরু
- বিবৃতি
- গঠন
- ছাত্র
- শিক্ষার্থীরা
- এমন
- বেষ্টিত
- বাক্য গঠন
- লাগে
- প্রযুক্তি
- প্রযুক্তি শিল্প
- কারিগরী
- যে
- সার্জারির
- তাদের
- তাহাদিগকে
- এইগুলো
- মনে
- থেকে
- টপিক
- trending
- ধরনের
- অধীনে
- বোঝা
- অনন্য
- us
- ব্যবহার
- ব্যবহার
- ব্যবহারকারী
- মূল্য
- কর্তৃত্বের প্রতীকস্বরুপে বাহিত দণ্ড
- ব্যাপকভাবে
- ইচ্ছা
- সঙ্গে
- মধ্যে
- ছাড়া
- নারী
- প্রযুক্তিতে নারী
- would
- লেখা
- লেখা
- আপনার
- zephyrnet